R:循环访问data.table并使用ggplot2绘图

时间:2018-03-21 23:01:09

标签: r ggplot2

我有这个例子,并试图诊断它为什么没有。

df = data.table(one = rnorm(50),
                two = rnorm(50),
                thr = rnorm(50))

因此,对于此数据表,我想绘制循环中两列的直方图。这可以通过以下方式完成。

these_vars = c("one","two")
for(var in these_vars){
   df[,..var] %>% ggplot(., aes_string(var)) + 
      geom_histogram() + ggtitle(var)
}

然而,这似乎不起作用,因为没有渲染图。任何人都可以通过这个小小的过程帮助诊断问题。

1 个答案:

答案 0 :(得分:1)

您必须在plot循环中明确使用for

for(var in these_vars){
    p <- df[,..var] %>% ggplot(., aes_string(var)) + 
        geom_histogram() + ggtitle(var)
    plot(p)
}