Как вычислить средства во фрейме данных в строках в R? - PullRequest
1 голос
/ 25 марта 2020

Я еще раз прошу вас о поддержке!

У меня есть фрейм данных, в котором представлены различные различия по странам, вы можете увидеть их на рисунке here it is.

Я хочу вычислить все эти значения в одной новой переменной, но я не знаю, как это сделать. Я попробовал rowMeans() функцию, но я мог бы быть очень глупым человеком, поэтому мне не удалось вычислить.

mean() не сработало - оказалось, что «аргумент не числовой c или логический c: НС вернуться ". У меня также есть опасения, что mean() вычисляет средние значения во всем столбце как вектор, а не по строкам, как мне нужно. Еще раз - Мне нужно получить средства из переменных # страны для каждого наблюдения в кадре данных.

Может ли кто-нибудь помочь мне с этой довольно простой задачей?

Ответы [ 2 ]

1 голос
/ 25 марта 2020

Мы можем использовать rowMeans с startsWith

rowMeans(dat[startsWith(colnames(dat), "nation")])
0 голосов
/ 25 марта 2020
dat <- data.frame(
  nation1 = c(0,3,5,3,5,4), nation2 = c(4,2,5,3,5,4),
  ethnicity1 = c(5,5,5,5,5,2), ethnicity2 = c(5,5,5,2,4,4)
)
rowMeans(dat[, grepl("^nation", colnames(dat))])
# [1] 2.0 2.5 5.0 3.0 5.0 4.0
...