我有两个数据集 A 和 B,我想找到相关性并绘制等高线图。
A 只是一个包含 230 个流数据的简单向量。
B是一系列日期下的复杂海表温度(SST)数据。在每个日期,SST 都有一个由 360 行 *180 列记录的温度组成的矩阵。
向量 A(230 个数据)是:
Houlgrave_flow_1981_2000 = window(Houlgrave_flow_average, start = as.Date("1981-11-15"),end = as.Date("2000-12-15"))
Houlgrave_SF_1981_2000 = coredata(Houlgrave_flow_1981_2000)
矩阵 B 的维数如下所示,我只使用 1 到 230。
> dim(ssta_sst)
[1] 360 180 362
我寻找相关性的想法如下。
z_correlation = cor(Houlgrave_SF_SST_1981_2000,ssta_sst[c(181:360, 1:180),,i])
试试看,i=1。但是,它不起作用。错误消息说:
"Error in cor(Houlgrave_SF_SST_1981_2000, ssta_sst[c(181:360, 1:180), , :
incompatible dimensions.".
另外,这是我的等高线图代码,
require(maps)
par(ask=TRUE)
for (i in 1:230) {
maps::map(database="world", fill=TRUE, col="light blue")
maps::map.axes()
contour(x=lon_sst, y=lat_sst, z=cor(Houlgrave_SF_1981_2000,ssta_sst[c(181:360, 1:180),,i]), zlim=c(-3,3), add=TRUE)
title(paste("Year: ", year_sst[i], ", Month: ", month_sst[i]))
}
我想我只需要在轮廓代码下修改 z 。是否需要将每个A的数据重新定义为360*180的数据矩阵?