У меня есть такие данные:
x1 = seq(0, 2, length=5)
x2 = seq(1, 2, length=5)
x3 = seq(0, 1, length=5)
df = data.frame(rbind(x1,x2,x3))
Я хотел бы получить долю определенных столбцов (на основе имени), которые имеют значение меньше 1. Далее выбираются переменные, содержащие «x» в имени, и суммируются значения в столбцах.
df <- df %>%
mutate(sumVar = rowSums(select(., contains("x")), na.rm = TRUE))
Есть ли способ включить логику ifelse в эту настройку, чтобы определить пропорцию столбцов со значениями ‹ 1 (в отличие от вычисления суммы, как здесь)? Я использую функцию «содержит», так как хочу рассчитать это для большего количества столбцов, которые не обязательно расположены по порядку, но имеют один и тот же шаблон в своем имени.