我对R还是很陌生,需要一些帮助使其进行所需的分析。我有一个这样的数据框(简化):
Gene time Expression
1 Gene1 W1 18.780294
2 Gene2 W1 13.932397
3 Gene3 W1 20.877093
4 Gene1 W2 9.291295
5 Gene2 W2 10.939570
6 Gene3 W2 12.236713
7 Gene1 W3 13.810722
8 Gene2 W3 23.944473
9 Gene3 W3 17.355429
我想知道每个时间点(第1周,第2周,第3周...)的基因(基因1、2、3,)的平均'表达'值之间是否存在显着差异。例如,我想知道在第3周(第3周)Gene1的表达是否与Gene2显着不同我已经执行了方差分析和TukeyHSD
my_ANOVA = aov(Expression ~ Gene , data = my_Data)
summary(my_ANOVA)
my_posthoc =TukeyHSD(my_ANOVA, which = "Gene")
my_posthoc
结果是
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Expression ~ Gene, data = my_Data)
$Gene
diff lwr upr p adj
Gene2-Gene1 2.3113763 -11.24096 15.86371 0.8631245
Gene3-Gene1 2.8623080 -10.69002 16.41464 0.8002795
Gene3-Gene2 0.5509317 -13.00140 14.10326 0.9914716
它为我提供了整个时间轴上Gene1与Gene2的总比较。但是我想特别知道在时间W1,基因1和2是否不同,或者在时间W3呢?
[如果您只是想按时间拆分数据并分别运行每个分析,尽管数据集太小而无法产生可用的结果,这很简单:
my_Data.W <- split(my_Data, my_Data$time)
lapply(1:3, function(x) summary(aov(Expression~Gene, data=my_Data.W[[x]])))
lapply(1:3, function(x) TukeyHSD(aov(Expression~Gene, data=my_Data.W[[x]])))