Опция с tidyverse
, где мы поворачиваемся к «длинному» формату, затем группируемся по «имени», получаем столбец sum
«значения»
library(dplyr)
library(tidyr)
pivot_longer(d3, everything()) %>%
group_by(name) %>%
summarise(value = sum(value, na.rm = TRUE))
# A tibble: 3 x 2
# name value
# <chr> <int>
#1 event.12mo 1
#2 event.24mo 1
#3 vent.6mo 0
Или это это также можно сделать, сначала получив sum
всех столбцов с summarise_all
, а затем изменив формат на «длинный»
d3 %>%
summarise_all(sum, na.rm = TRUE) %>%
pivot_longer(everything())
data
d3 <- structure(list(vent.6mo = c(0L, 0L, 0L), event.12mo = c(0L, 1L,
0L), event.24mo = c(0L, NA, 1L)), class = "data.frame", row.names = c("1",
"2", "3"))