Это один из вариантов, который даст вам набор данных в качестве вывода, чтобы вы могли использовать его для построения графика:
df = read.table(text = "
Q1_1 Q1_2 Q1_3 Q1_4
1 1 0 0
1 0 0 0
0 1 1 0
1 0 0 0
", header=T)
library(tidyverse)
df %>%
gather(col, value) %>% # reshape data
group_by(col) %>% # for every column name
summarise(Count = sum(value)) # get sum of values
# # A tibble: 4 x 2
# col Count
# <chr> <int>
# 1 Q1_1 3
# 2 Q1_2 2
# 3 Q1_3 1
# 4 Q1_4 0
Другие варианты это
df %>%
summarise_all(sum) %>% # get the sum for each column
gather(col, value) # reshape data
# col value
# 1 Q1_1 3
# 2 Q1_2 2
# 3 Q1_3 1
# 4 Q1_4 0
Вы также можете использовать colSums
, но вам нужно получить и сохранить имена столбцов в виде столбца в новом наборе данных:
res = colSums(df)
data.frame(col = names(res),
Count = res)
# col Count
# Q1_1 Q1_1 3
# Q1_2 Q1_2 2
# Q1_3 Q1_3 1
# Q1_4 Q1_4 0