【问题标题】:Using R to create a log-log scatter plot of the mean of two sets replicates使用 R 创建两组重复的平均值的对数散点图
【发布时间】:2018-06-18 02:20:58
【问题描述】:

我有两种不同细胞类型(naive 和 Th1)的一些 RNA seq 数据。

如何找到每个基因(分组变量)的每种细胞类型的两个重复的平均值,然后绘制这些数据的对数散点图?

我的桌子是这样的:

df <- data.frame(Gene_name=c("Mrpl15", "Lypla1", "Tcea1"),
                 naive_A=c(5.21212, 6.62643, 5.74654),
                 naive_B=c(4.52376, 5.64459, 4.52153),
                 Th1_A=c(15.50650, 14.46030, 11.57770),
                 Th1_B=c(5.876490, 5.193010, 2.107200), stringsAsFactors=F)
df

  Gene_name naive_A naive_B   Th1_A   Th1_B
1    Mrpl15 5.21212 4.52376 15.5065 5.87649
2    Lypla1 6.62643 5.64459 14.4603 5.19301
3     Tcea1 5.74654 4.52153 11.5777 2.10720

如果有人可以提供帮助,我将非常感激!谢谢

【问题讨论】:

  • 如果您删除特定领域的行话并将其概括为关​​于取平均值和绘图的问题,将会很有帮助。此外,如果您的问题包括如何创建所需的样本数据,您将更快得到答案。

标签: r mean scatter-plot replicate


【解决方案1】:

你可以这样做

df %>%
    gather(sample, expr, -Gene_name) %>%
    mutate(condition = gsub("_\\w$", "", sample)) %>%
    group_by(Gene_name, condition) %>%
    summarise(expr.mean = mean(expr)) %>%
    spread(condition, expr.mean) %>%
    ggplot(aes(x = log10(naive), y = log10(Th1), label = Gene_name)) +
    geom_point() +
    geom_text()

解释:从宽到长重塑数据,提取condition 列和每个条件下每个基因的平均表达值。然后将数据从长到宽重新整形,并绘制来自naive 的log10 转换平均表达与来自Th1 的每个基因的平均表达。

我添加基因标签只是为了说明。您可以通过删除 + geom_text() 来删除它们。


样本数据

df <- read.table(text =
    "Gene_name   naive_A  naive_B    Th1_A    Th1_B
1    Mrpl15  5.21212 4.52376 15.50650 5.876490
2    Lypla1  6.62643 5.64459 14.46030 5.193010
3    Tcea1  5.74654 4.52153 11.57770 2.107200", header = T)

【讨论】:

    猜你喜欢
    • 2016-02-26
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 2021-07-06
    • 2014-10-16
    • 1970-01-01
    相关资源
    最近更新 更多