2016-01-21 63 views
-1

想象一下,我想从一个应变表创建一个条形图。该数据如下:R barplot:不同高度的列

df<-data.frame(read.table(header = TRUE, text = 
"Age Gender Mobile 
13 Male 1 
14 Female 1 
18 Female 1 
13 Male 1 
13 Female 1 
14 Female 0 
16 Male 1 
16 Female 0 
16 Male 0 
20 Male 0 
14 Male 0 
13 Female 0 
25 Male 1 
13 Female 0 
24 Female 0")) 

我然后创建应急表(在这种情况下,我在数据的子集只是有兴趣):

df$Gender<-factor(df$Gender) 
df$Mobile<-factor(df$Mobile) 
table1<-prop.table(xtabs(~Mobile+Age, df[df$Gender=="Female",])) 

我然后创建条形图:

barplot(table1)

它确实有效。但是柱子高度不一样。它看起来不太“好”。

enter image description here

我想获得的列对齐。我能做什么?提前致谢!

+0

这我不清楚你在问什么。你能以某种方式说明理想的行为吗?另请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

+0

为什么酒吧应该是一样的高度? –

回答

1

您使用prop.table没有 a margin参数,所以它计算总频率,而不是行或列频率。您希望列频率具有相同的高度。试试这个:

table1<-prop.table(xtabs(~Mobile+Age, df[df$Gender=="Female",]),margin=2) 

barplot(table1) 

enter image description here