我有一个矩阵mat
,如下所示:
V1 V2
Helsinki Bus
Helsinki Bus
Helsinki Tram
London Train
London Bus
London Train
...
我想要的是制表(使用R),如下所示:
V1 V2 V3
Helsinki Bus 2
Helsinki Tram 1
London Bus 1
London Train 2
然后绘制条形图(使用R),我的y轴为V2列,使得它们的颜色与V1不同。
例如,对于赫尔辛基和伦敦,总线需要以不同的阴影显示两次阴影(不聚集在一起)。
那么,我该如何做呢?
编辑:
我确实完成了制表,但是在使用ggplot绘图时。如果我这样做:
ggplot( data=mat, aes(x=V2, y=V3, fill=factor(V1)) )+
geom_bar(position="dodge",stat="identity", width=0.5) + coord_flip() + theme_minimal( base_size= 18 ) + ylab( "Mode of Transport" ) + xlab( "Frequency" ) + labs( fill= "City") + ggtitle( "Distribution of transportation modes" ) + scale_y_continuous(limits = c(0, 15))
我得到了一个聚集条形图。如何获取所有城市V2
中提到的(V1)
中的变量?
答案 0 :(得分:0)
dplyr包中的group_by函数可能很有用
aes(x=V1,y=V3,fill=V2)
如果我理解你的话,你想要一个带有为每个城市聚集的交通方式的条形图(这是正确的吗?)。如果是这样,您只需更改ggplot代码中的aes()变量。
{{1}}