R 在循环中打印多个打印的x轴

R 在循环中打印多个打印的x轴,r,ggplot2,R,Ggplot2,我必须为多个变量做一个直方图。我正在运行这段代码,它按类给出了多变量的直方图 hist_fun = function(x,y){ ggplot(df, aes(x, fill = y)) + geom_density(alpha = 0.2) } 我在数据集上使用此函数作为 lapply(df[sapply(df, is.numeric)], function(x) { hist_fun(x, df$class) }) 我得到了所有的绘图,但我无法得到x轴上的标签。我试着在通过x的地

我必须为多个变量做一个直方图。我正在运行这段代码,它按类给出了多变量的直方图

hist_fun = function(x,y){
  ggplot(df, aes(x, fill = y)) + geom_density(alpha = 0.2)
}
我在数据集上使用此函数作为

lapply(df[sapply(df, is.numeric)], function(x) {   hist_fun(x, df$class) })
我得到了所有的绘图,但我无法得到x轴上的标签。我试着在通过x的地方使用xlab,但那没有任何作用

hist_fun = function(x,y){
  ggplot(df, aes(x, fill = y)) + geom_density(alpha = 0.2) + xlab(names(x))
}

有没有更好的方法可以做到这一点。

我已经创建了一个示例data.frame:

#生成data.frame

df为什么不将数据帧作为参数传递到函数中
hist_fun=function(df)
我用一个更接近原始代码的解决方案和另一个使用整洁数据集的选项更新了答案,这可能适用于也可能不适用于您的实际数据和预期输出。