为什么x轴标签显示df [,1]而不是列名?

时间:2018-06-18 13:43:41

标签: r ggplot2 sapply

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

sapply(isNumVal, plotHist)

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

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

          }

ggplot histograms

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

如何让它显示列的名称?

1 个答案:

答案 0 :(得分:1)

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

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

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