我一直试图解决这个问题一段时间,我也在互联网上搜索了很多,但我找不到解决这个问题的方法。
我有以下代码可以使用,但我无法让列名在图中显示为标题:
lapply(bank, function(a) {
if (is.factor(a)){
ggplot(bank, aes(x=a)) + geom_bar(aes(fill = bank$y), position = "fill") + geom_hline(yintercept = 0.1127) + geom_bar(aes(y = (..count..)/sum(..count..), alpha = 0.3), show.legend = FALSE)
}
else {
ggplot(bank, aes(x = a)) + geom_histogram(aes(fill = bank$y), position = "fill") + geom_hline(yintercept = 0.1127) + geom_density(aes(y = ..scaled..))
}
})
我尝试将“a”放在ggtitle和其他一些东西中,但没有任何效果。 我会很乐意帮助你!
编辑:我现在尝试使用此代码(循环使用名称并使用aes_string):
lapply(names(bank), function(a) {
if (is.factor(bank[[a]])){
ggplot(bank, aes_string(x = a)) + geom_bar(aes(fill = bank$y), position = "fill") + geom_hline(yintercept = 0.1127) + geom_bar(aes(y = (..count..)/sum(..count..), alpha = 0.3), show.legend = FALSE)
}
else {
ggplot(bank, aes_string(x = a)) + geom_histogram(aes(fill = bank$y), position = "fill") + geom_hline(yintercept = 0.1127) + geom_density(aes(y = ..scaled..))
}
})
此代码有效,错误消息是因为变量名称中的空格