5

我对 R 非常陌生,需要一些帮助才能完成我想要的分析(我一直在 GraphPad Prism 中进行的分析,但这不能处理大型数据集)。我有一个这样的数据框(简化):

Gene Seq   RBP Sites.length
1    Short A   0.26
1    Short B   0.13
1    Short C   0.65
1    Long  A   0.00
1    Long  B   0.39
1    Long  C   1.82
2    Short A   0.13
2    Short B   0.00
2    Short C   0.00
2    Long  A   0.89
...etc...

我想知道每个 RBP 的“Short”和“Long”Seq 的平均“Sites.length”值之间是否存在显着差异。我执行了方差分析和 TukeyHSD:

> aov_migr <- aov (Sites.length ~ Seq * RBP, data = my_data)
> migr_hsd <- TukeyHSD (aov_migr)

结果如下所示:

> summary(aov_migr)
              Df Sum Sq Mean Sq F value Pr(>F)
Seq           1   0.03   0.031   0.434   0.51
RBP          34 206.86   6.084  86.264 <2e-16 ***
Seq:RBP      34   0.84   0.025   0.351   1.00
Residuals   910  64.18   0.071

> migr_hsd
                diff   lwr     upr   p adj
Short:A-Long:A  -0.012 -0.430  0.406 1
Long:B-Long:A   -0.039 -.0.457 0.379 1
Short:B-Long:A  -0.043 -0.460  0.375 1
Long:C-Long:A   0.556  0.138   0.974 8.909e-05
...etc...

问题是我需要 TukeyHSD 仅比较同一 RBP 的“长”和“短”(即仅长:A v 短:A,长:B v 短:B 等),因为其他比较没有意义. 将它们相互比较会增加调整后的 p 值,因为它正在纠正我不希望它执行的无意义比较。

有没有办法告诉 TukeyHSD 数据应该将每个 RBP 的“长”和“短”分组在一起/只比较同一 RBP 的“长”和“短”?

或者是否有另一个测试可以做到这一点?

更新:我已经尝试了许多其他测试,看看我是否可以从 R 中的 Prism Graphpad 复制我的分析 - lme、manova、HSD.test (agricolae)、glht (multcomp)、因子图、SidakSD、Sidak、重复测量方差分析(使用基因、Seq 和 RBP 设置为因子):

RM_aov <- aov(Sites.length ~ Seq * RBP + Error(Gene), data = mydata)

但是没有任何东西可以复制分析,我需要使用 Graphpad Prism 无法处理的更大数据集重复此分析。最接近的是 aov/TukeyHSD(除了上面描述的问题)和一个带有 t.test 的 for 循环(如下所述;但是虽然 Prism 分析中的一个比较给出了显着的结果,但与此的所有比较都不显着):

# separate long and short into separate data frames where the column headers are the RBP names and each row is the Sites.length for a Gene
result <- data.frame()
for (rbp in colnames (short)) {
  test.result <- t.test (long [, rbp] - short [, rbp])
  result [rbp, 'p'] <- test.result$p.value
  }
result$p.adjusted <- p.adjust (result$p, method="bonferroni")

我执行的 Graphpad Prism 分析是:

  • 重复测量双向方差分析(告诉它给定基因的“长”和“短”值匹配)

  • Sidak 的多重比较检验(但显着性比较在 Bonferroni 和 Holm-Sidak 多重比较检验中也很显着)。

有人可以帮忙吗?

4

0 回答 0