我希望制作一个堆叠条形图来显示两个因素。我可以在这个网站上找到解决这个问题的问题和答案,所有这些问题都可以使用矩阵格式的数据,并使用ggplot2。我的数据是在观察列表中,如下所示:
mydata = data.frame(V1=c("A","B","B","C","C"), V2=c("X","X","Y","Z","Z"))
我想在图的x轴上显示V1的类别,但堆叠起来显示每个条形图中V2的比例。
我可以使用plyr库中的“count”函数来查找每个观察的频率
library(plyr)
mydata.count = count(mydata)
但是我不知道如何构造我的barplot命令来按V1的级别对数据进行分组:barplot(mydata.count$freq)
将V1和V2的所有组合分隔为单独的条。
如果可能,我想使用基本的R条形图函数创建此图,以便在视觉上与研究中的其他图一致。
2条答案
按热度按时间kqlmhetl1#
使用
table
创建V1
和V2
的所有组合的计数列联表。然后,使用barplot
创建堆叠条形图。当与矩阵一起使用时,barplot
创建堆叠垂直条形,其中列显示在x轴上-因此可能需要转置数据。jckbn6z72#
以下是
ggplot
的另一种可能性: