2016-01-21 58 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