分配" beanplot"对象变为R中的变量

时间:2014-03-26 23:21:30

标签: r plot

我发现beanplot是表示数据的最佳方式。我想一起看多个beanplots来可视化我的数据。我的每个图包含3个变量,因此每个变量看起来都像这个代码生成的那样:

library(beanplot)
a <- rnorm(100)
b <- rnorm(100)
c <- rnorm(100)
beanplot(a, b ,c ,ylim = c(-4, 4), main = "Beanplot", 
         col = c("#CAB2D6", "#33A02C", "#B2DF8A"), border = "#CAB2D6")

(会包含一张图片,但我的声望得分不够高,抱歉)

我有421个这样的我想要放入一个长PDF(编辑:每页一个情节很好,这只是我的措辞很差)。我采用的方法是首先在for循环中生成beanplots,并在每次迭代时将它们存储在列表中。然后我将使用multiplot函数(来自R Cookbook page on multiplot)在一个长列上显示我的所有绘图,以便我可以开始分析。

问题是beanplot函数似乎没有设置为将绘图对象指定为变量。例如:

library(beanplot)
a <- rnorm(100)
b <- rnorm(100)
plot1 <- beanplot(a, b, ylim = c(-5,5), main = "Beanplot", 
                  col = c("#CAB2D6", "#33A02C", "#B2DF8A"), border = "#CAB2D6")
plot1

如果您在R控制台中输入plot1,您将获得两个绘图参数,但不会返回绘图本身。这意味着当我将图存储在列表中时,我无法使用多色图来绘制它们。它只会返回绘图参数和空白图。

qplot似乎不是这种情况,例如,当您调用存储的图时,它会返回一个图。例如:

library(ggplot2)
a <- rnorm(100)
b <- rnorm(100)
plot2 <- qplot(a,b)
plot2

我在ggplot中没有相应的bean图。我可以使用某种解决方法来解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用pdf()打开PDF设备,并保留默认参数onefile=TRUE。然后一个接一个地呼叫所有beanplot()。它们都将在一个PDF文档中,每个文档都在一个单独的页面上。 See here