如何对polysst对象中sea_surface_temperature数组的每个切片求均值?
批量计算海面温度切片均值并生成数据框
直接用apply()函数就能批量处理所有日期切片,再和日期组合成数据框,具体操作如下:
批量计算所有切片的均值
sst_means <- apply(polysst$sea_surface_temperature, 3, function(x) mean(as.numeric(x), na.rm = TRUE))这里的参数
3指定对三维数组的第三个维度(即每个日期对应的空间网格切片)遍历计算,自动完成384个切片的均值运算。生成包含日期与均值的数据框
sst_mean_df <- data.frame( date = polysst$time, sst_mean = sst_means )
如果要验证结果准确性,可以对比单个切片的计算值:
all.equal(sst_means[1], mean(as.numeric(polysst$sea_surface_temperature[,,1]), na.rm = TRUE))
返回TRUE则说明批量计算结果正确。
内容的提问来源于stack exchange,提问作者blitz1259
相关产品推荐
相关产品推荐

