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