很抱歉发布这个,因为我知道这是以各种形式出现的,但我真的不明白我做错了什么/ R的内部工作!
我有一个(多维)数据数组,我从我正在玩的netcdf文件中读取。我想计算数组部分的一些“统计数据”,例如:
data <- array(runif(96*73*26*12), dim=c(96,73,26,12))
part.mean <- apply(data[10:23, 42:56, ,], c(3,4), mean)
效果很好。但是:
part.sd <- apply(data[10:23, 42:56, ,], c(3,4), sd)
失败。
然后对我的数组进行子集化并计算与我上面可以计算的均值相关的sd的正确方法是什么?
谢谢你的时间!
亚历
答案 0 :(得分:5)
sd
相比, mean
与matricies的工作方式不同。它产生列标准偏差而不是整个矩阵,
part.sd <- apply(data[10:23, 42:56, ,], c(3,4), function(x) sd(as.vector(x)))
shoud给你一个与平均值结果一致的结果。