0

当第一个数据集的数量最大时,我编写了一个代码来计算第二个数据集的数量,但最后对于某些纬度和经度,我得到了非常大的数字,这不在第一个数据集中。这是代码的核心:

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])
        }
    }
}
4

1 回答 1

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 对象包含的内容,那么您应该通过编辑问题来更好地描述数据设置。

于 2013-07-22T17:37:36.190 回答