我有一个数组,表示每小时的温度数据,并想计算每天的最高值(或最低值,或平均值)。我可以使用for循环来实现这一点,但我相信在R语言中一定有更好的方法。
require(ncdf4)
nc <- nc_open('file.nc')
t2 <- ncvar_get(nc,var='T2') # [ncols, nrows, nsteps]
现在t2是一个包含744个小时时间步长的数组,对应31天的时间。我想要的是:
t2.max[ncols, nrows, 31]
更一般地说,我希望将t2重塑为:
t2.reshape[ncols, nrows, ndays, 24]
从那里开始,我可以使用"apply"函数来计算每日平均值或最大值等等。
我希望结果是一个数组而不是数据框。
有什么建议吗?我尝试使用reshap包中的melt / cast函数,但无法理解如何指定所需的公式。
array( aperm(t2,dim=c(3,1,2)), dim=c( 24, 31, nrows, ncols) )
。 - Chris Nolte