我有一个矩阵 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))
我得到了一个聚集的条形图 . 我应该怎样做才能获得所有城市 (V1)
中提到的 V2
中的变量?
1 回答
dplyr包中的group_by函数可能很有用
如果我理解你的话,你想要一个条形图,其中包含为每个城市聚集的运输方法(这是正确的吗?) . 如果是这样,您只需更改ggplot代码中的aes()变量即可 .