Plot Column w.r.t.矩阵中的行

时间:2016-02-15 10:24:23

标签: r dplyr plyr

我有一个矩阵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)中的变量?

1 个答案:

答案 0 :(得分:0)

dplyr包中的group_by函数可能很有用

aes(x=V1,y=V3,fill=V2)

如果我理解你的话,你想要一个带有为每个城市聚集的交通方式的条形图(这是正确的吗?)。如果是这样,您只需更改ggplot代码中的aes()变量。

{{1}}