私のデータフレーム内のすべての変数に対してボックスプロットを生成したいと思います。しかし、問題は、lapply経由でループしている変数名でx軸にラベルを付けることができないということです。何かご意見は。ボックスプロットのためのプロット内のlapply関数内の要素の名前にアクセスする方法
df=data.frame(a=rnorm(100), b=rnorm(100), c=rnorm(100), d=rep(1:2,50)) # data
df$d=as.factor(df$d)
機能
Boxplotfun=function(x,i){
if(is.numeric(x)) {
p <- ggplot(df, aes(d, x, group=d)) + geom_boxplot(outlier.colour = "red", fill = c("gold","darkgreen")) + coord_flip() + theme_light() + ggtitle(paste(names(x)))
plot(p)
}
}
l=lapply(df[-ncol(df)], Boxplotfun)
私は 'mapplyを使用するために使用されます'のために問題のタイプです。 'mapply(myfun、x = df、title = names(df))'のようなものは、myfunがtitle引数を取ることを確認します。今度は 'tidyr :: gather'を使ってdfを2列のdf(変数、値)にしてから' facet_wrap(〜variable) 'を使用します。 –
@RichardTelford:これは動作しません。 myfunにttitle用のparamを追加しましたが、まだxを表示しています。 –