Я еще раз прошу вас о поддержке!
У меня есть фрейм данных, в котором представлены различные различия по странам, вы можете увидеть их на рисунке .
Я хочу вычислить все эти значения в одной новой переменной, но я не знаю, как это сделать. Я попробовал rowMeans() функцию, но я мог бы быть очень глупым человеком, поэтому мне не удалось вычислить.
rowMeans()
mean() не сработало - оказалось, что «аргумент не числовой c или логический c: НС вернуться ". У меня также есть опасения, что mean() вычисляет средние значения во всем столбце как вектор, а не по строкам, как мне нужно. Еще раз - Мне нужно получить средства из переменных # страны для каждого наблюдения в кадре данных.
mean()
Может ли кто-нибудь помочь мне с этой довольно простой задачей?
Мы можем использовать rowMeans с startsWith
rowMeans
startsWith
rowMeans(dat[startsWith(colnames(dat), "nation")])
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