R 分类/二进制数据和的直方图
我想要一种图形化且有吸引力的方式来表示二进制数据的列和,而不是表格格式。我似乎无法让它发挥作用,尽管有人会认为这将是一次上篮 数据如下所示(我尝试创建一个可复制的示例,但无法让代码填充0和1)R 分类/二进制数据和的直方图,r,ggplot2,histogram,R,Ggplot2,Histogram,我想要一种图形化且有吸引力的方式来表示二进制数据的列和,而不是表格格式。我似乎无法让它发挥作用,尽管有人会认为这将是一次上篮 数据如下所示(我尝试创建一个可复制的示例,但无法让代码填充0和1) 我只想对每列中的1进行计数(求和),沿x轴显示组名,沿y轴显示计数(求和),并使条形图具有漂亮的颜色。我已经在这里尝试了所有的解决方案,还有很多没有。由于值是二进制的,只需在base R中执行colSums,然后使用barplot barplot(colSums(df1), col = c("r
我只想对每列中的1进行计数(求和),沿x轴显示组名,沿y轴显示计数(求和),并使条形图具有漂亮的颜色。我已经在这里尝试了所有的解决方案,还有很多没有。由于值是二进制的,只需在
base R
中执行colSums
,然后使用barplot
barplot(colSums(df1), col = c("red", "blue", "green", "yellow"))
数据
df1Atidyverse
方法:
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')
结果:
尝试barplot(colSums(df1))
尝试:df%%>%gather(key,val)%%>%groupby(key)%%>%summary(Sum=Sum(val))%%>%ggplot(aes(key,Sum,fill=key))+geom\u col()
当然有效!我用的是ggplot2,但我对基本软件包没意见。只需要y轴上的粒度多一点,但我可以查一下。或者另一种方法我summary\u all
,gather
df%>%summary\u all(sum)%%>%gather%>%ggplot(,aes(x=key,y=value))+geom\u bar(stat='identity')
Wow!好的,我想是时候学习tidyverse或dplyr之类的了。我昨天应该问这个!
library(tidyverse)
df %>%
gather(key,val) %>%
group_by(key) %>%
summarise(Sum=sum(val)) %>%
ggplot(aes(key,Sum,fill=key))+geom_col()
df %>% summarise_all(sum)
%>% gather %>%
ggplot(., aes(x = key, y = value)) +
geom_bar(stat = 'identity')