2017-04-03 9 views
0

たくさんのボックスプロットを生成し、別々のファイルに保存しようとしました。各ボックスプロットは、データフレームからの変数に基づいていなければなりません。私は多かれ少なかれ「Looping over plots」のソリューションを「コピー」しようとしましたが、それは動作しません。ボックスプロット(データフレーム列)のルーピング

for(i in c("varname1","varname2")) { 
    png(paste(i, "png", sep = "."), width = 400, height = 400) 
    print(ggplot(df) + geom_boxplot(aes_string(y =seq_along(i) , x = i)) +  
    theme_bw()) 
    dev.off() 
} 

私はこのサイトも解決しましたが、動作するものは見つかりませんでした。

+0

ベースrボックスプロットループも良いでしょう: 'boxplot(dataframe $ varname)' – placebo

+0

正確なエラーメッセージは何ですか?しかし、うまくいきません_はかなり曖昧です。 – Uwe

+1

プロットは別々のファイルに保存する必要がありますか?これは 'ファセット'のための素晴らしい機会のように聞こえる... –

答えて

0

解決策が見つかりました。 'seq_along'は削除する必要があります。 私はまたいくつかの変更を加えました。「ヒスト」を追加しました。ファイル名の接頭辞として、xスケールの視覚要素を削除し、警告を防止するためにミスを除去しました。

for(i in c("varname1", "varname2", "varname3")) { 
png(paste("Hist",i, "png", sep = "."), width = 400, height = 400) 
print(ggplot(df) + geom_boxplot(aes_string(y=i, x = 0), na.rm=TRUE) + 
scale_x_discrete(breaks=NULL) + xlab(NULL) + theme_bw()) 
dev.off() 
} 

私にとってちょっと変わったのは、ggplotが何らかの形でX変数を期待しているということです。私は、xを0に設定し、これらの要素をビジュアルに隠すことによってこれを無視しました。だからちょっと迷惑です。

関連する問題