Мне нужен был графический и привлекательный способ представления сумм столбцов для двоичных данных, а не в табличном формате. Я не могу заставить его работать, хотя можно подумать, что это простоя.
Данные выглядят так (я пытался создать воспроизводимый пример, но не смог заставить код заполняться нулями и единицами).
G1 G2 G3 G4
1 0 0 1
0 1 1 1
1 1 0 0
0 1 0 1
Я просто хочу подсчитать (суммировать) 1-е в каждом столбце, отобразить имена групп вдоль оси X, количество (суммы) вдоль оси Y и сделать столбцы красивыми цветами. Я попробовал каждое решение здесь и многие, которые не являются.
2 ответа
tidyverse
подход:
library(tidyverse)
df %>%
gather(key,val) %>%
group_by(key) %>%
summarise(Sum=sum(val)) %>%
ggplot(aes(key,Sum,fill=key))+geom_col()
Или как предложено @akrun:
df %>% summarise_all(sum)
%>% gather %>%
ggplot(., aes(x = key, y = value)) +
geom_bar(stat = 'identity')
Поскольку значения являются двоичными, просто выполните colSums
в base R
и затем используйте barplot
barplot(colSums(df1), col = c("red", "blue", "green", "yellow"))
Данные
df1 <- structure(list(G1 = c(1L, 0L, 1L, 0L), G2 = c(0L, 1L, 1L, 1L),
G3 = c(0L, 1L, 0L, 0L), G4 = c(1L, 1L, 0L, 1L)), class = "data.frame", row.names = c(NA,
-4L))
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат полностью. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.