【发布时间】:2019-10-24 22:01:52
【问题描述】:
我有一个矩阵 (X),我试图在其中计算每一行的平均值。我知道可以使用 rowMeans() 并且可以正常工作,但是,我试图证明也可以使用 for 循环。我将如何做到这一点?
X <- matrix(1:100, nrow = 25, ncol = 4)
for (i in 1:n) {
nums[i] <- mean(X)
}
print(nums[i])
[1] 50.5
VS.
rowMeans(X)
[1] 38.5 39.5 40.5 41.5 42.5 43.5 44.5 45.5 46.5 47.5 48.5 49.5 50.5 51.5 52.5 53.5 54.5 55.5 56.5 57.5 58.5 59.5 60.5 61.5 62.5
【问题讨论】:
-
apply(X, 1, mean) -
谢谢,这成功了! 1 在 apply 函数中代表什么?
-
在每次迭代中,您都在运行整个矩阵的平均值。应该是
mean(X[i,],而不仅仅是mean(X) -
1表示按行执行操作。 -
要执行 mean(X[i,]),我还需要做些什么才能让它运行吗?
{r} X <- matrix(1:100, nrow = 25, ncol = 4) for (i in 1:n) { Xmean <- mean(X[i, ]) } Xmean这样执行时出现越界错误。跨度>
标签: r