首页 > 解决方案 > 为什么 x 轴标签显示 df[,1] 而不是列名?

问题描述

我正在尝试使用 sapply 获取数据框isNumVal的所有列的直方图。以下代码:

sapply(isNumVal, plotHist)

plotHist <- function(df){
          df <- tbl_df(df)

            print(
              ggplot(df, aes(x = df[1])) + geom_histogram() 
            )

          }

ggplot直方图

所有图中的 x 轴标签都显示 df 1

我如何让它显示列的名称?

标签: rggplot2sapply

解决方案


还有很多其他的方法,这里有一个。尝试将数据框和列名传递给您的函数,并使用aes_string

plotHist <- function(myDf, myCol){
  ggplot(myDf, aes_string(x = myCol)) + geom_histogram()
}

lapply(colnames(isNumVal), function(i) plotHist(isNumVal, i))

推荐阅读