【问题标题】:Mean value of all columns for each row in RR中每一行的所有列的平均值
【发布时间】: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)

标签: r row mean


【解决方案1】:

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

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

并在其上使用apply 函数:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2019-05-20
    • 1970-01-01
    • 2017-03-14
    • 2020-04-02
    相关资源
    最近更新 更多