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

Ale*_*ald 3 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)
Run Code Online (Sandbox Code Playgroud)

效果很好.但:

part.sd <- apply(data[10:23, 42:56, ,], c(3,4), sd)
Run Code Online (Sandbox Code Playgroud)

失败.

那么对我的数组进行子集化并计算与我上面可以计算的均值相关的sd的正确方法是什么?

谢谢你的时间!

亚历克斯

Jam*_*mes 5

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

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

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