У меня есть кадр данных:
md <- data.frame(a = c(3,5,4,5,3,5), b = c(5,5,5,4,4,1), c = c(1,3,4,3,5,5),
device = c(1,1,2,2,3,3))
myvars = c("a", "b", "c")
md[2,3] <- NA
md[4,1] <- NA
md
Я хочу подсчитать количество 5 в каждом столбце - по устройству. Я могу сделать это так:
library(dplyr)
group_by(md, device) %>%
summarise(counts.a = sum(a==5, na.rm = T),
counts.b = sum(b==5, na.rm = T),
counts.c = sum(c==5, na.rm = T))
Однако в реальной жизни у меня будет куча переменных (длина myvars
может быть очень большой) - так что я не смогу указать эти counts.a
, counts.b
и т. д. вручную - десятки раз.
Позволяет ли dplyr
запускать подсчет 5 секунд во всех столбцах myvars
одновременно?
Благодарю вас!