我需要找到数据框中每一行的平均值。我正在尝试使用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
我的错误是什么,如何计算每一行的平均值? 我也尝试对矩阵进行相同的操作,得到相同的结果。
答案 0 :(得分:0)
一种可能的解决方案是使用apply
函数。这是一些示例数据:
df <- data.frame(a=rnorm(10),
b=rnorm(10))
并在其上使用apply
函数:
apply(df, 1, mean, na.rm=TRUE)