Среднее значение всех столбцов для каждой строки в R - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно найти среднее значение для каждой строки в моих фреймах данных.Я пытаюсь использовать функцию 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 голосов
/ 03 октября 2018

Одним из возможных решений является использование функции apply.Вот некоторые примеры данных:

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

и используйте для этого функцию apply:

apply(df, 1, mean, na.rm=TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...