R计算矩阵/数组的部分的sd

时间:2012-08-08 10:44:43

标签: r matrix standard-deviation

很抱歉发布这个,因为我知道这是以各种形式出现的,但我真的不明白我做错了什么/ 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的正确方法是什么?

谢谢你的时间!

亚历

1 个答案:

答案 0 :(得分:5)

sd相比,

mean与matricies的工作方式不同。它产生列标准偏差而不是整个矩阵,

part.sd <- apply(data[10:23, 42:56, ,], c(3,4), function(x) sd(as.vector(x)))

shoud给你一个与平均值结果一致的结果。