【问题标题】:t-test for each row between two groups in RR中两组之间每一行的t检验
【发布时间】:2020-08-30 03:29:47
【问题描述】:

我有两组:高体重和低体重。此外,我还拥有三个品种的每组中所有基因的基因表达值:

  gene  Variety_1   Variety_2   Variety_3   Variety_4   Variety_5   Variety_6
Weight  75.01776435 61.33770069 58.94255236 1.378325093 1.257405065 1.238147023
    A1  0.677707    0.546048    1.734473    0.375743    0.337179    0.777027
    A2  7.981616    3.183075    14.36619    6.108213    8.375638    21.607289
    A3  0.867021    2.018648    2.476652    1.634256    1.853648    3.682622
    A4  0           0           0           1.111973    1.970236    5.323712
    A5  1.508041    12.609049   8.554698    2.525282    3.461804    12.971696
    A6  0.371842    1.089097    1.484137    0.94704     0.07742     1.075424
    A7  0           0           8.090433    0           0           0
    A8  0           0           0           0           0           0

我想对高(品种 1,2,3)和低(品种 4,5,6)重量品种之间的每个基因(行)进行 t 检验。

【问题讨论】:

  • 是的,我有一个基因列表。我有一个 csv 文件。我不确定这是否是您要问的。
  • 我明白了。实际上,我有一个没有任何组的所有基因和品种的 csv 文件。我根据体重数据分组,并为高体重和低体重分别选择了三个品种。
  • 我添加了权重,用作一行来获取基因表达值。
  • 我已将问题更新为数据,没有进行任何分组。
  • 这能回答你的问题吗? doing t.test for columns for each row in data set

标签: r statistics bioinformatics hypothesis-test


【解决方案1】:

这是使用外部库的一种方法:

library(matrixTests)
row_t_welch(x[,1:3], x[,4:6])

【讨论】:

    【解决方案2】:

    我们可以使用applyMARGIN =1

    df1$pval <- c(NA, apply(df1[-1,-1], 1, function(x) t.test(x[1:3], x[4:6])$p.value))
    

    【讨论】:

    • 谢谢!是否可以在原始数据集中为 t-test p 值增加一列。
    • @Jessica 我假设你的列是数字的,因为有一些 , 使它成为非数字
    • 是的,它们都是数字。我想为 t.test 结果添加一列,这样我就不必一一检查了。
    • 长度会不一样吧?需要为第一行添加一些东西
    • @desval 你是对的。谢谢。我忘记了第一行
    猜你喜欢
    • 1970-01-01
    • 2019-11-08
    • 2015-09-17
    • 2019-03-04
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多