繁体   English   中英

并排在r中绘制具有相同水平的因子

[英]side by side plotting in r for factors with same levels

数据看起来像这样-

ID  Day_start Day_end
1 Sa Sa
2 Sa Tu
3 Sa Tu
3 Sa NA
3 Tu Tr

我想获取Day_start和Day_end不同天的频率比较的并排条形图。 条形图查找向量或矩阵,但Day_start和Day_end是因素。

如果要两个彼此相邻的条形图,可以在基数R中使用barplot()table()

my_df <- read.table(text="ID  Day_start Day_end
                           1         Sa      Sa
                           2         Sa      Tu
                           3         Sa      Tu
                           3         Sa      NA
                           3         Tu      Tr", header=T)

par(mfrow=c(1,2))
barplot(table(my_df$Day_start))
barplot(table(my_df$Day_end))
par(mfrow=c(1,1))

输出

并排基地组

如果您想要一个分组的条形图,可以使用ggplot2 (在这里我也使用tidyr gather()将数据转换为长格式)。 如果要显示零计数的空白空间,可以查看此问题

library(ggplot2)
long_df <- tidyr::gather(my_df, day_cat, day, -ID)

ggplot(long_df, aes(x=factor(day), fill = day_cat)) + 
  geom_bar(position = "dodge")

输出

ggplot2分组的条

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM