2012-03-19 9 views
3

私は別の質問をする再現可能な例を作り始めました。とにかく、カテゴリのデータを小角棒グラフにプロットしようとしています。そこで私は自分のデータをCO3(コードを下に)を使って作成しました。 xをプロットするだけで普通のようです: enter image description hereggplot説明されていない結果

私はファセットしようとするとファンキーになります。すべてがすべて等しいことを示す

    Type Quebec Mississippi 
outcome Treatment       
none nonchilled   7   6 
     chilled    4   7 
some nonchilled   6   4 
     chilled    5   5 
lots nonchilled   5   4 
     chilled    6   3 
tons nonchilled   3   7 
     chilled    6   6 

私は何をやっている:それは、すべてのサブグループが出ているが、データのftableによって証明されていない来るの等しい割合を持っていた示すことになると意味がありません enter image description here

違う?

library(ggplot2) 
set.seed(10) 
CO3 <- data.frame(CO2[, 2:3], outcome=factor(sample(c('none', 'some', 'lots', 'tons'), 
      nrow(CO2), rep=T), levels=c('none', 'some', 'lots', 'tons'))) 
CO3 
x <- ggplot(CO3, aes(x=outcome)) + geom_bar(aes(x=outcome)) 
x 
x + facet_grid(Treatment~., margins=TRUE) 

with(CO3, ftable(outcome, Treatment, Type)) 

編集:ブライアンは説明この問題は、データをスタックする必要があるときに自分自身を見つけるための簡単なものです。バグが

IDer <- function(dataframe, id.name="id"){ 
    DF <- data.frame(c=1:nrow(dataframe), dataframe) 
    colnames(DF)[1] <- id.name 
    return(DF) 
} 

IDer(mtcars) 

答えて

5

あり:オーバーggplotの次のバージョンまではこれを来て、私はすぐにデータフレームにID列を追加するには他愛ない便利な関数を作成しました(私は、ハドレーは、この問題を認識していると仮定します) facet_grid()と重複した行については、0.939のリリースではggplot2です。 https://github.com/hadley/ggplot2/issues/443

回避策は、ダミー列を追加して複製を破ることです。それは私にナットを運転していたことについて

CO3$dummy <- 1:nrow(CO3) 

ggplot(CO3, aes(x=outcome)) + 
    geom_bar(aes(x=outcome)) + 
    facet_grid(Treatment~., margins=TRUE) 

enter image description here

+0

感謝。 ggplot2の次のリリースで修正が予定されているのであれば不思議です –

関連する問題