我是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轴标签不正确。
谢谢