У меня есть фрейм данных анкеты, который подвергся обработке. Каждый столбец измеряет конкретную конструкцию в двоичных терминах (1 представляет да; 0 представляет нет; NA - пробелы).
Пример кадра данных выглядит следующим образом:
df <- data.frame(qol1 = c(1, 0, 0, 1, NA, 0, 0, 1, NA, 0),
qol2 = c(0, 0, 0, 0, NA, 1, 0, 0, 0, 0),
qol3 = c(1, 0, NA, NA, NA, 0, 0, 0, 1, 1))
df
qol1 qol2 qol3
1 1 0 1
2 0 0 0
3 0 0 NA
4 1 0 NA
5 NA NA NA
6 0 1 0
7 0 0 0
8 1 0 0
9 NA 0 1
10 0 0 1
Я хотел бы рассчитать процент от 1 с от общего числа 1 и 0 (без учета NA) для каждого столбца.
Я попытался использовать следующий код, но он не привел к правильному ответу, потому что все, что добавляет 0, приведет к тому же числу:
library(dplyr)
df2 <- df %>%
summarise_all(funs(sum(. == 1, na.rm = TRUE)/sum(., na.rm = TRUE)*100))
Я думал об использовании nrow
, count
и т. Д., Но у них нет аргумента для na.rm.
Я хотел бы получить желаемый результат:
qol1 qol2 qol3
37.5 11.11 42.85
Спасибо и высоко ценим!