【问题标题】:How do I get an average for each replicate for each gene?我如何获得每个基因的每个重复的平均值?
【发布时间】:2018-01-18 20:14:05
【问题描述】:

我是 R 和编码的新手,所以这可能是一个非常明显的答案!

我有一个数据集,其中包含针对数千个基因探针的四个水蚤复制品的 log2 值,对应于各种基因(如图所示)。但是,对于每个重复,我想获得每个基因的平均表达。有什么办法可以做到吗?

这是我的数据框的顶部:

s_MC13_B1_Cd.Ni    s_MC13_B2_Cd.Ni    s_MC13_B3_Cd.Ni    s_MC13_B4_Cd.Ni   
[1,] "3.32737034165695" "3.30082063716602" "3.35288781669471" 
"3.28130201442409"
[2,] "2.99677521546021" "2.97525202994054" "3.01357652548303" 
"2.98091704146676"
[3,] "3.22057255739705" "3.24001410852619" "3.19806113996704" 
"3.17850023932788"
[4,] "3.17934205285383" "3.22237873890637" "3.20299332433795" 
"3.19533925098426"
[5,] "3.20285957796094" "3.22659173854477" "3.22878128735342" 
"3.21307289097597"
[6,] "3.16945922109561" "3.1672329312015"  "3.17366131274743" 
"3.18792397254863"

[1,] "GENE:JGI_V11_100009"
[2,] "GENE:JGI_V11_100009"
[3,] "GENE:JGI_V11_100036"
[4,] "GENE:JGI_V11_100036"
[5,] "GENE:JGI_V11_100036"
[6,] "GENE:JGI_V11_100044"

基本上我想为每个基因(第 5 列)获取每列的平均值 - 例如,我想为每列获取前 2 行的平均值(GENE:JGI_V11_100009),并对中的每个基因执行此操作第 5 栏

【问题讨论】:

  • 不确定您在这里做什么,但您需要提供reproducible example 以便人们帮助您解决问题。除了可重现的示例之外,您还需要提供预期的输出。我们不知道您所说的复制和 log2 值是什么意思,因此示例数据是关键。尝试使用dput(head(df, 30)) 或其他东西来重现。
  • 这是我的数据框的顶部:
  • 请不要发布数据的图片,只发布数据本身。存在用于制作 MWE 的良好参考,例如 stackoverflow.com/questions/5963269stackoverflow.com/help/mcve。 (Quickie:dput(head(x))(@MattW 建议)是一个好的开始。)
  • 您对aggregate 的使用是错误的。从?aggregate 开始,by=“分组元素列表”,但您提供的只是一个字符串("GENE_ID"),请改用data$GENE_ID
  • 您的数据看起来像字符串,而不是数字。在尝试聚合之前,您是否执行过任何类型的数据清理/操作?

标签: r average limma


【解决方案1】:

我想我明白你想要做什么,但如果数据正确,我会更确定。

使用dplyr 包:

我们可以将V5列重命名为Gene来稍微清理一下数据。

然后我们要将所有以“s_MC13”开头的列更改为数字。看起来它们当前是字符串。

最后我们group_by 基因和summarise_atmean 函数推送到所有列,因此您可以获得每列的平均值。

library(dplyr)

data_averages <- data %>%
    rename(Gene = V5) %>%
    mutate_at(vars(starts_with("s_MC13")), funs(as.numeric)) %>%
    group_by(Gene) %>%
    summarise_at(vars(starts_with("s_MC13")), funs(mean))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多