我对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...
我想知道平均值' Sites.length'之间是否存在显着差异。 ' Short'的值和' Long'每个RBP的Seq。我进行了ANOVA和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才能只比较“龙”和“龙”。和&#39;短&#39;相同的RBP(即只有Long:A v Short:A,Long:B v Short:B等),因为其他比较是没有意义的。将它们全部相互比较是增加调整后的p值,因为它正在纠正我不希望它执行的无意义比较。
有没有办法告诉TukeyHSD数据应该有&#39; Long&#39;和&#39;短&#39;对于每个RBP组合在一起/仅比较“龙”和“龙”。和&#39;短&#39;相同的RBP?
或者还有其他测试可以做到这一点吗?
更新: 我已经尝试过许多其他测试,看看我是否可以在R-lme,manova,HSD.test(agricolae),glht(multcomp),因子图,SidakSD,Sidak,重复测量ANOVA(与Gene, Seq和RBP设置为因子):
RM_aov <- aov(Sites.length ~ Seq * RBP + Error(Gene), data = mydata)
但是没有任何东西可以复制分析,我需要使用Graphpad Prism无法处理的更大数据集重复此分析。最接近的是aov / TukeyHSD(上述问题除外)和带有t.test的for循环(如下所述;但是在Prism分析中的一个比较给出了显着的结果,所有与此相比都不显着):< / p>
# 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分析是:
重复测量双因素方差分析(告诉它给定基因的长&#39;以及&#39;短&#39;的值)
Sidak的多重比较测试(但与Bonferroni和Holm-Sidak多重比较测试的重要比较也很重要。)
有人可以帮忙吗?