Выбор строк со средним значением строки превышает общее среднее значение для фрейма данных - PullRequest
1 голос
/ 27 июня 2019

Можем ли мы сделать это без dplyr?Я хочу выбрать те строки, чьи значения строк больше, чем общее среднее значение для фрейма данных.

Я пытался использовать функцию, но она не работает.

tf12 <- apply(tf11, 2, function(x) filter(rowMeans(x) > mean(x)))

Это даетследующая ошибка.

Error in rowMeans(x) : 'x' must be an array of at least two dimensions

1 Ответ

2 голосов
/ 27 июня 2019

Мы могли бы unlist вычислить mean всего фрейма данных и затем сравнить его с rowMeans

tf11[rowMeans(tf11) > mean(unlist(tf11)), ]

Используйте na.rm = TRUE в mean и rowMeans, если у вас есть значения NA в кадре данных.

Рассмотрим пример,

df <- data.frame(a = 1:10, b = 11:20)
df[rowMeans(df) > mean(unlist(df)), ]

#    a  b
#6   6 16
#7   7 17
#8   8 18
#9   9 19
#10 10 20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...