数据看起来像这样 -
ID Day_start Day_end
1 Sa Sa
2 Sa Tu
3 Sa Tu
3 Sa NA
3 Tu Tr
我希望得到一个并排的条形图,其中包含Day_start和Day_end不同日期的频率比较。 barplot查找矢量或矩阵,但Day_start和Day_end是因子。
答案 0 :(得分:1)
如果您想要彼此相邻的两个单独的条形图,则可以使用barplot()
&基础R中的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
&#39; s gather()
将数据转换为长格式。如果您想显示零空间,您可以查看this SO question
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")