R中每一行的所有列的平均值

时间:2018-10-03 10:55:14

标签: r row mean

我需要找到数据框中每一行的平均值。我正在尝试使用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

我的错误是什么,如何计算每一行的平均值? 我也尝试对矩阵进行相同的操作,得到相同的结果。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是使用apply函数。这是一些示例数据:

df <- data.frame(a=rnorm(10),
                 b=rnorm(10))

并在其上使用apply函数:

apply(df, 1, mean, na.rm=TRUE)