【发布时间】:2019-03-30 09:02:01
【问题描述】:
我正在尝试手动计算 R 中矩阵内的方差,但我遇到了一些问题,因为我得到了不正确的维数。
我有 x,一个 12x250 矩阵,Temp.means,一个 12x1 矩阵,我将它提供给一个带有 for 的函数。
我基本上想要 x 的方差,所以我正在使用 apply 函数来尝试将我的方差函数应用于我的代码...但是出现了问题。
这是我的代码:
Variance.fun <- function(x,Temp.means) {
for (i in 1:250) {
vari <- (matrix(x[i,]-Temp.means)^2)/250
}
}
【问题讨论】:
-
请让这个问题可重现。这包括样本数据(例如,
dput(head(x)))、警告/错误的文字文本以及预期的输出。参考:stackoverflow.com/questions/5963269、stackoverflow.com/help/mcve 和 stackoverflow.com/tags/r/info。 -
如果你只需要每行的方差,为什么不
apply(my_matrix, 1, var)? -
x的方差一般理解为一个12×12的矩阵。函数
var(x)有你想要的输出吗?如果没有,也许您可以解释一下您的需求有何不同。
标签: r function for-loop statistics apply