用FUN自动为多个直方图的x轴标记变量名称时出现问题[开始]

时间:2019-01-14 21:49:45

标签: r ggplot2

我是R的初学者。
我正在尝试构建一个FUN,以为数据框的每个变量(以列为单位)绘制直方图,但是在标注X轴时出现问题。
我希望图形的x轴使用变量的名称,但是下面的代码不会发生。

我有一个这样的数据框(数据)(每一列都是变量,行是观察值):

var1 var2 var3 var4
A    2    3    4
B    5    6    7
C    8    9    10
D    11   12   13

这是函数的代码:

Histo <- function(df, variable) {
  ggplot(df,aes(variable)) +
    geom_histogram(aes(y = ..density..), colour = "black", fill = "white")+
    stat_function(fun = dnorm, args = list(mean = mean(variable, na.rm = T), sd = sd(variable, na.rm = T)), colour = "black", size = 1) + 
    geom_density(color = "red", size = 1) + 
    labs(x = colnames(df)[variable], y = "Density")
} 

然后,我创建一个循环代码以绘制每个变量的直方图,仅选择数字变量:

for (i in data) {
  if (is.numeric(i)) {
  print(Histo(data,i))
  }
}

它为数据框的每个变量正确绘制了图形,但X轴标签不正确。

谢谢

0 个答案:

没有答案