2016-08-30 18 views
-1

バイナリ結果変数(0または1のいずれか)を持つ複数の連続変数(約20変数)をプロット(ボックスプロット)しています。Ggplot:1つのバイナリ変数と複数の連続変数の比較

データ:

ID outcome var1 var2 var3 var4 var5 
1  0  62 2.01 13  1.94 8 
2  0  150 4.32 9   99 6 
3  0  18 1.86 0.6  99 22 
4  0  60 4.08 3  -99 6 
5  1  20 1.96 1   99 14 
6  1  100 1.64 19  -99 3 

私のコード:

tmp <- melt(data, id.vars=c("ID", "outcome")) 

p <- ggplot(data = tmp, aes(x=outcome, y= value)) + 
    geom_boxplot(aes(fill=Label)) 
p + facet_wrap(~ variable, scales="free") 

このコードは、次のエラーを示しています。

Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting

を任意の助けいただければ幸いです。

+1

Labelの取り外しと要因にoutcomeを作り、コードが

ggplot(data = tmp, aes(x=as.factor(outcome), y= value)) + geom_boxplot() + facet_wrap(~ variable, scales="free") 

データを動作します。サンプルデータセットを追加する方法については、[このリンク](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を参照してください。 – aosmith

答えて

0

ここにいくつかの問題があります。

1)Labelという変数がありません。

2)outcomeは連続変数です。あなたは、あなたの質問にあなたのデータセットの例を持っていた場合、それが役立つ

tmp <- structure(list(ID = c(1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 
5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 
3L, 4L, 5L, 6L), outcome = c(0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 
0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 
0L, 0L, 0L, 0L, 1L, 1L), variable = structure(c(1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 
4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("var1", "var2", 
"var3", "var4", "var5"), class = "factor"), value = c(62, 150, 
18, 60, 20, 100, 2.01, 4.32, 1.86, 4.08, 1.96, 1.64, 13, 9, 0.6, 
3, 1, 19, 1.94, 99, 99, -99, 99, -99, 8, 6, 22, 6, 14, 3)), row.names = c(NA, 
-30L), .Names = c("ID", "outcome", "variable", "value"), class = "data.frame") 
関連する問題