我编写了一个代码,用于在第一个数据集的数量最大时计算第二个数据集的数量,但在某个纬度和经度的末尾,我得到的数字非常大,而不是第一个数据集。以下是代码的核心:
PW.storm <- array(NA,dim=c(length(lon1),length(lat1)))
for (i in 1:length(lon1)){
for (j in 1:length(lat1)){
for (k in 1:length(time)){
t <- time.when.dat1.max <- which.max(abs(dat1[i,j,]))
PW.storm[i,j] <- abs(dat2[i,j,t])
}
}
}
答案 0 :(得分:1)
您的代码建议您不了解which.max
返回的内容。你有:
time.when.dat1.max <- which.max(abs(dat1[i,j,]))
这不是“dat1最大的时间”。它是i和j条件下dat1第三维的索引。如果时间是第三维中的值,那么您需要使用它来获取时间值:
time.when.dat1.max <- dat1[i,j, which.max(abs(dat1[i,j,]))]
如果我猜错了dat1对象的含义,那么你应该通过编辑问题来更好地描述数据设置。