如何在单独页面上为数据集中的每一列创建直方图

时间:2019-06-22 23:04:25

标签: r

我正在尝试创建一个pdf文件,该数据集的每个列都将具有频率直方图,但是每个直方图将位于单独的页面上。

我可以使用下面的代码为每一列创建一个直方图,但是它将全部发布到一页上。有没有一种方法可以将每个页面分开,将它们转换为pdf,然后将它们全部放在一个文件中?

ggplot(gather(df), aes(value))+
  geom_histogram(bins = 4)+
  facet_wrap(~key, scales = 'free_x')

最终产品将是一个PDF文件,其中包含300+(每列1个)直方图。

编辑1:

对于此代码

df <- data.frame(
  X = sample(c(0,1,2,3), 10, replace = TRUE),
  Y = sample(c(0,1,2,3), 10, replace = TRUE),
  Z = sample(c(0,1,2,3), 10, replace = TRUE)
)

我想要1个pdf中的3个单独的直方图。

1 个答案:

答案 0 :(得分:0)

只需调用pdf()函数,然后使用for循环遍历每列:

pdf('plots.pdf')
for(i in 1:length(df)){
  ggplot(data = df) +
    geom_histogram(mapping = aes(x = df[,i]), bins = 4)
}
dev.off()