【发布时间】:2018-10-03 10:55:14
【问题描述】:
我需要找到数据框中每一行的平均值。我正在尝试使用 rowMeans 函数,但不是每行的平均值,而是 R 增量生成值,它看起来像这样。
> df
row a b c d e
1 1 0.116336634 0.148883375 0.332530120 0.002421308 0.387096774
2 2 0.032178218 0.200992556 0.277108434 0.002421308 0.012406948
3 3 0.007425743 0.004962779 0.002409639 0.002421308 0.007444169
4 4 0.007425743 0.004962779 0.004819277 0.004842615 0.009925558
5 5 0.007425743 0.004962779 0.004819277 0.002421308 0.012406948
6 6 0.007425743 0.004962779 0.004819277 NA 0.012406948
7 7 0.007425743 0.004962779 0.004819277 0.002421308 0.009925558
8 8 0.007425743 0.004962779 0.004819277 NA 0.012406948
9 9 0.007425743 0.004962779 0.004819277 NA 0.012406948
10 10 0.007425743 0.004962779 0.007228916 0.004842615 0.012406948
11 11 0.007425743 0.004962779 0.007228916 0.002421308 0.012406948
12 12 0.007425743 0.004962779 0.002409639 NA 0.007444169
13 13 0.007425743 0.004962779 0.002409639 NA 0.007444169
14 14 0.007425743 0.004962779 NA NA 0.007444169
15 15 0.007425743 0.004962779 NA NA 0.007444169
df$mean <- rowMeans(df, na.rm = TRUE)
df
> df
row a b c d e mean
1 1 0.116336634 0.148883375 0.332530120 0.002421308 0.387096774 0.3312114
2 2 0.032178218 0.200992556 0.277108434 0.002421308 0.012406948 0.4208512
3 3 0.007425743 0.004962779 0.002409639 0.002421308 0.007444169 0.5041106
4 4 0.007425743 0.004962779 0.004819277 0.004842615 0.009925558 0.6719960
5 5 0.007425743 0.004962779 0.004819277 0.002421308 0.012406948 0.8386727
6 6 0.007425743 0.004962779 0.004819277 NA 0.012406948 1.2059229
7 7 0.007425743 0.004962779 0.004819277 0.002421308 0.009925558 1.1715924
8 8 0.007425743 0.004962779 0.004819277 NA 0.012406948 1.6059229
9 9 0.007425743 0.004962779 0.004819277 NA 0.012406948 1.8059229
10 10 0.007425743 0.004962779 0.007228916 0.004842615 0.012406948 1.6728112
11 11 0.007425743 0.004962779 0.007228916 0.002421308 0.012406948 1.8390743
12 12 0.007425743 0.004962779 0.002409639 NA 0.007444169 2.4044485
13 13 0.007425743 0.004962779 0.002409639 NA 0.007444169 2.6044485
14 14 0.007425743 0.004962779 NA NA 0.007444169 3.5049582
15 15 0.007425743 0.004962779 NA NA 0.007444169 3.7549582
16 16 0.007425743 0.004962779 NA NA 0.007444169 4.0049582
我的错误是什么?如何计算每行的平均值? 我也尝试对矩阵做同样的事情,结果相同。
【问题讨论】:
-
您应该从计算中排除列
row,即rowMeans(df[, -1], na.rm = TRUE)