遍历一个场景以在R中使用不同的比较组绘制多个图

时间:2018-11-06 14:48:00

标签: r loops purrr

我有一个具有这种结构的eset(顶部是pData(data),底部是exprs(data))。 SMP标签是来自具有不同条件的受试者的样本。颜色是来自WGCNA的模块以及相关的分数。

      ID   age  gender  condition
SMP1  20   15    F      healthy
SMP2  35   39    F      healthy
SMP3  36   54    F      diabetes
SMP4  73   43    M      diabetes
SMP5  29   17    M      influenza
SMP6  66   27    F      influenza

        SMP1   SMP2    SMP3   SMP4   SMP5   SMP6
blue    0.98  -0.42    0.21  -0.96  -0.92   0.44
black   0.43   0.88    0.23   0.59   0.32  -0.82
red     0.59   0.21   -0.16  -0.77  -0.49   0.33

实际上,有12个疾病组和一个健康组,以及9个不同的模块(每个模块都有不同的颜色)

我的目标是创建一个由12个图组成的阵列,每个图可视化一组患有一种疾病的个体的模块得分以及健康个体的模块得分(例如:糖尿病患者的蓝色模块得分的分布和分布健康个体的模块评分,每个分数都在同一图上)。为了使每种不同模块颜色具有12个图的阵列,健康组始终具有相同的色图(因为ggplot2将按字母顺序选择颜色)。

最初,我将集合中的pData(data)和exprs(data)合并到一个数据框中,为每个疾病/健康状况的比较手动分配了数据框,然后使用以下代码制作了图:

ggplot(condition_v_healthy, aes(module_color, fill=condition)) + 
geom_density(alpha = 0.5) + theme(legend.position="none") + 
labs(x = "condition")

这似乎需要遍历模块颜色和不同条件,每次将疾病组与健康组进行比较。

我想知道是否有一种优雅的方法?可以将purrr与自定义功能一起使用吗?我很想避免合并pData(data)和exprs(data),但不确定是否可能。

谢谢!

0 个答案:

没有答案