小编Chr*_*lte的帖子

重塑多维数组

我有一个表示每小时温度数据的数组,并希望计算每日最大值(或最小值,或均值).我可以使用for循环来做到这一点,但我相信在R中必须有更好的方法来做到这一点.

require(ncdf4)
nc <- nc_open('file.nc')
t2 <- ncvar_get(nc,var='T2')  # [ncols, nrows, nsteps]
Run Code Online (Sandbox Code Playgroud)

现在t2是一个阵列,每天有3144个小时的时间步长.我想要的是:

t2.max[ncols, nrows, 31]
Run Code Online (Sandbox Code Playgroud)

或者,更一般地说,我想重塑t2:

t2.reshape[ncols, nrows, ndays, 24]
Run Code Online (Sandbox Code Playgroud)

从那里我可以使用apply来计算每日平均值或最大值或其他.

我希望结果是一个数组,而不是数据框.

建议?我尝试使用reshape包中的melt/cast,但无法理解如何指定所需的公式.

r multidimensional-array reshape

4
推荐指数
1
解决办法
8481
查看次数

标签 统计

multidimensional-array ×1

r ×1

reshape ×1