R中数据框中每列的条形图

R中数据框中每列的条形图,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我想为数据帧中的每一列生成条形图 for(col in names(df)){ print(col) ggplot(df, aes(col, ..count..)) + geom_bar(aes(fill = col), position = "dodge") } 我试着用下面的代码为一个列生成绘图,效果很好 ggplot(df, aes(colName, ..count..)) + geom_bar(aes(fill = colName), posit

我想为数据帧中的每一列生成条形图

for(col in names(df)){
    print(col)
    ggplot(df, aes(col, ..count..)) + geom_bar(aes(fill = col), position = "dodge")
  }
我试着用下面的代码为一个列生成绘图,效果很好

ggplot(df, aes(colName, ..count..)) + geom_bar(aes(fill = colName), position = "dodge")
但如果我把它放在for循环中,为数据帧中的每一列生成绘图,它就不起作用了

for(col in names(df)){
    print(col)
    ggplot(df, aes(col, ..count..)) + geom_bar(aes(fill = col), position = "dodge")
  }

我不想在代码中硬编码列名,也不想开发单独的函数。

您可以使用Lappy为数据帧的每一列创建绘图。要在ggplot代码中将列名引用为变量,请使用。数据:

你可以用

aes(get(col,df),..count..))

你想要一个只有一个条的条形图吗?因此,对于每一列?还是我遗漏了什么?@Elias我想要数据框中每一列的条形图在一个window@tjebo不,它没有回答我的问题。链接线程中给出的所有解决方案都应该工作得很好。请详细说明为什么它不能回答这个问题。好的。我再查一下谢谢你的答复。但是我不想开发一个单独的函数你说的“开发一个单独的函数”是什么意思?lappy与for loop相同。您也可以在for循环中使用相同的逻辑。你的预期产出是多少?谢谢你的回答。但这对我不起作用