获取传递给自定义函数的矢量变量的原始名称

时间:2014-02-05 22:24:02

标签: r ggplot2 dataframe

阅读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”。

0 个答案:

没有答案