У меня есть датафрейм со многими столбцами, и получение следующего резюме - это много ручной работы. В образце набора данных требуется вычислять сумму столбца value
три раза только для наблюдений, в которых значения столбцов «ИСТИНА» отдельно для каждого.
# sample dataset
df <- data.frame(
value = c(1:20),
con1 = c("TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE"),
con2 = c("FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE"),
con3 = c("FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "FALSE"))
Вручную процесс можно сделать так:
df %>% group_by(con1) %>% summarise(value = sum(value))
В этом случае сумма столбца value
для наблюдений, только когда соответствующее значение в столбце con1
равно «ИСТИНА», равна 70.
Конечный кадр данных должен выглядеть следующим образом:
data.frame(con1 = 70, con2 = 63, con3 = 57)