合并来自两个变量的箱线图

Merging boxplots from two variables

我有一个这样的数据集:

Group  ripk2pre ripk2post  HDAC2PRE HDAC2POST TNFalfapre TNFalfapost  hdac1pre hdac1post
1      0 1.2953928 1.3764571 2.0882699 1.3751473  1.3707263  0.9081135 1.0558543 0.9428877
2      0 0.9123888 1.2130447 0.8429092 1.0029163  1.2713608   1.2682995 1.0769362 1.2495874
3      0 1.2437122 0.8164699 1.9392855 0.7427853  1.0119777   2.0928740 0.8362260 1.5880373
4      0 0.8352961 1.0609110 0.9104137 1.2687785  0.8347809   0.8345946 1.5121548 1.1003785
5      0 1.0563645 1.2732350 1.2210999 2.1879613  2.2030366   1.0042444 0.7399383 0.7093015
. 
.
.

所以我想做的是,为每一对 (ripk2pre/ripk2post) 表示一个彼此靠近的箱线图。所以我在同一个图表框内有两个箱线图,例如显示 x 标签(pre-treatment 和 post-treatment),标题显示 "ripk2 gene expression".

我知道如何按组变量进行分离,但我不想这样做,而是将箱线图与每个 pre 和 post 变量的两个箱线图合并在一起,这样x中的标签不是按组划分的(这是我知道的方式),而是按pre和post treatment.

划分

我不确定您是否正在寻找这个,但请检查一下

det <- read.table(header = T, stringsAsFactors = F,  text = "
Group1 Group  ripk2pre ripk2post  HDAC2PRE HDAC2POST TNFalfapre TNFalfapost  hdac1pre hdac1post
                  1 0 1.2953928 1.3764571 2.0882699 1.3751473  1.3707263  0.9081135 1.0558543 0.9428877
                  2 0 0.9123888 1.2130447 0.8429092 1.0029163  1.2713608   1.2682995 1.0769362 1.2495874
                  3 0 1.2437122 0.8164699 1.9392855 0.7427853  1.0119777   2.0928740 0.8362260 1.5880373
                  4 0 0.8352961 1.0609110 0.9104137 1.2687785  0.8347809   0.8345946 1.5121548 1.1003785
                  5 0 1.0563645 1.2732350 1.2210999 2.1879613  2.2030366   1.0042444 0.7399383 0.7093015")

library(reshape2)
library(dplyr)
library(ggplot2)
det %>% select(Group, ripk2pre, ripk2post) %>%
  melt(id.vars = c("Group")) %>%
  ggplot(aes(x = variable, y = value)) + geom_boxplot()