阅读R脚本后,我的问题最为明白:
plotHistogram <- function(data, x, binw=0.30, color=FALSE, density=FALSE, h=10, w=10) {
require(ggplot2)
# data$x <- as.numeric(x)
plot <- ggplot(data, aes(x))
if(density & color) {
plot <- plot + geom_density(fill="blue", aes(alpha=0.2))
} else if (density) {
plot <- plot + geom_density()
} else if (color) {
plot <- plot +
geom_histogram(binwidth=binw, aes(y=..density.., fill=..count..)) +
scale_fill_gradient("Count", low="purple", high="red")
} else {
plot <- plot + geom_histogram(binwidth=binw, aes(y=..density.., fill=..count..))
}
ggsave(file="histo_plot.svg", plot=plot, height=h, width=w)
return(plot)
}
注意注释行。通常我必须使用它来让ggplot识别x
属于data
。这是一个黑客。我的目的是绘制输入的任何系列的名称x
。我不知道如何做到这一点,因为据我所知,我必须存储要在某个变量中可视化的列,但该变量会重命名向量,因此没有好的方法可以在数据中找到原始名称。帧。
我确信我忽略了一个简单的解决方案。
假设我做了以下事情:
plotHistogram(economics, economics$psavert)
这会导致错误或不希望的结果。如果我取消注释该行,则绘制x轴标签“x”,而我真正想要的是“psavert”。