我似乎无法弄清楚如何获得一个漂亮的条形图,其中包含来自两个包含不同列数的表的数据。
有问题的表格类似于(从最后截取一些数据):
> tab1
1 2 3 6 8 31
5872 1525 831 521 299 4
> tab2
1 2 3 4 22
7874 422 2 5 1
请注意,列名和大小是不同的。当我只barplot()
在其中一张表上进行操作时,它会出现我想要的图(将列名显示为 X 轴,Y 轴上的频率)。但是,我希望这两个并排。
我已经创建了一个数据框,其中包含作为注释的变量和第一列中的不同行名(使用data.frame()
and merge()
),但是当我绘制这个时,X 轴似乎都是错误的。尝试重新排序列给了我一个关于长度不同的例外。
代码:
combined <- merge(data.frame(tab1), data.frame(tab2), by = c('Var1'), all=T)
barplot(t(combined[,2:3]), names.arg = combined[,1], beside=T)
这显示了一个绘图,但并非所有标签都存在,并且位置 26 的值绘制在 33 之后。
有什么简单的方法可以让这个情节发挥作用吗?ggplot2 解决方案会很好。