首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在r中为多个箱形图创建循环

在r中为多个箱形图创建循环
EN

Stack Overflow用户
提问于 2016-11-02 02:37:28
回答 2查看 9.4K关注 0票数 2

我设计了一个实验,观察进餐后血清标志物随时间的变化。我有一个由72个观测值和230个变量组成的数据帧,这被称为BreakfastM。

229个变量为血清标志物,1个为时间点。观察结果是不同的样本

我正在寻找血清标志物(如胆固醇)随时间变化的数据趋势。我已经创建了一个框图,它很好地显示了特定血清标记物与时间点的趋势。

这是我使用的代码

代码语言:javascript
复制
boxplot((BreakfastM$Variable~BreakfastM$Timepoint))

有没有一种快速的方法来测试数据帧中的所有变量,通过在R中编写循环代码来测试时间点?

EN

回答 2

Stack Overflow用户

发布于 2016-11-02 02:55:26

如果您只是想要打印,使用tidyr (和dplyr)转换为长格式,然后使用ggplot2进行打印可能是最好的起点。

如果您只有少量的变量,则可以使用facet_wrap按度量拆分箱图。因为您没有提供可重现的数据,所以我使用齿轮数据,用“mtcars”代替您的时间点,并且仅限于要比较的数值。select挑选我想要使用的列,然后gather在传递给ggplot之前将它们转换为长格式

代码语言:javascript
复制
mtcars %>%
  select(gear, mpg, disp:qsec) %>%
  gather(Measure, Value, -gear) %>%
  ggplot(aes(x = factor(gear)
             , y = Value)) +
  geom_boxplot() +
  facet_wrap(~Measure
             , scales = "free_y")

现在,有229个变量,这将不是一个可读的曲线图。相反,您可能想看看来自ggplusfacet_multiple,它将facet分布在多个页面上。在这里,我使用它为每个“页面”放置一个页面,您可以在查看器中查看或保存,具体取决于您的需要。

首先,保存基础图(不带镶嵌面):

代码语言:javascript
复制
basePlot <-
  mtcars %>%
  select(gear, mpg, disp:qsec) %>%
  gather(Measure, Value, -gear) %>%
  ggplot(aes(x = factor(gear)
             , y = Value)) +
  geom_boxplot()

然后,将其用作facet_multiple的参数

代码语言:javascript
复制
facet_multiple(basePlot, "Measure"
               , nrow = 1
               , ncol = 1
               , scales = "free_y")

将生成与上面相同的面板,但每页一个(更改nrowncol会增加每页显示的面的数量)。

票数 4
EN

Stack Overflow用户

发布于 2016-11-02 07:53:55

还可以使用循环将多个绘图写入工作目录中的图像文件。让我们创建一个10列矩阵,表示10个测量变量,每个变量分为3个因子水平:

代码语言:javascript
复制
data <- matrix(rnorm(150), nrow=15)
grps <- factor(c(rep("group1", 5), rep("group2", 5), rep("group3", 5)))

循环将每个箱线图写入名为var_1.pngvar_2.png等的文件中。这将在您的工作目录中放置10个png

代码语言:javascript
复制
for (i in 1:ncol(data)) {
  png(file = paste("var_", i, ".png", sep=""))
  boxplot(data[, i] ~ grps)
  dev.off()
}

这些文件非常小,您可以使用简单的图像查看器快速浏览它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40366468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档