我们正在将两个数据集(蛋白质组和转录组)与匹配组进行比较,除了蛋白质组数据中缺失的一组。当我将图表绘制在彼此下方时,如果缺失的组在图中表示,它们将更容易比较。
为此,我需要找到一种方法在 ggplot 的箱线图中沿 x 轴绘制一个“空”组。我在这里或在线找不到一个很好的例子(尽管已经问过类似的问题)但我没有找到任何适合我的解决方案。
我想创建它会有更简单的方法,但它确实有效。为新解决方案高兴!
library(tidyverse)
# expression dataframe
crete_exp_df <- function(gene_nr, sample_nr){
df <- replicate(sample_nr, rnorm(gene_nr))
df <- as.data.frame(df)
colnames(df) <- paste("Sample", c(1:ncol(df)))
rownames(df) <- paste("Gene", c(1:nrow(df)))
return(df)
}
df1 <- crete_exp_df(5, 20)
df1$gene <- rownames(df1)
# sample annotation
san <- data.frame(
id = colnames(df1),
group = sample(1:4, 20, replace = TRUE))
# long exp4 box ----
df_long <- df1 %>% pivot_longer(!gene, names_to = "id", values_to = "value")
df_long$group <- as.factor(san$group[match(df_long$id, san$id)])
# plot
df_long %>%
filter(gene == "Gene 1") %>%
ggplot(aes(x = group, y = value)) +
geom_boxplot()