我的df由7列组成,每列对应一条染色体。我想看看每个染色体中的值是否与其他染色体具有统计学意义。这是df的子集......
A01 A02 A03 A04 A05 A06 A07
1 0.0475424 0.224646 0.1065940 0.1580800 0.0279520 0.8189890 0.2721350
2 0.0383661 0.133959 0.0579846 0.0300916 0.1662380 0.0735981 0.2863390
3 0.2999830 0.407670 0.1696190 0.0379608 0.0544481 0.1532610 0.1041220
4 0.1605930 0.729948 0.0642579 0.4513340 0.3155020 0.3234300 0.7930150
5 0.5301730 0.100597 0.1850310 0.1111630 0.1000220 0.2172030 0.0748173
6 0.0268711 1.278470 0.0958172 0.5504090 0.3600080 0.0355549 0.3678820
我知道我可以使用t-test
来比较" A01"到" A02"等等。但它会告诉我这两条染色体是否重要,但我的计划是将A01
与所有其他染色体进行比较。我怎么能这样做?
由于
众议员
答案 0 :(得分:1)
您可以引用this post,这是Google搜索“t多个列R”时的第一个链接。
使用reshape2
包和pairwise.t.test
,并假设dat
是您的数据......
> library(reshape2)
> meltdf <- melt(dat)
> pairwise.t.test(meltdf$value, meltdf$variable, p.adjust = "none")
# Pairwise comparisons using t tests with pooled SD
#
# data: meltdf$value and meltdf$variable
#
# A01 A02 A03 A04 A05 A06
# A02 0.056 - - - - -
# A03 0.639 0.019 - - - -
# A04 0.794 0.095 0.466 - - -
# A05 0.930 0.046 0.703 0.727 - -
# A06 0.566 0.171 0.300 0.754 0.509 -
# A07 0.381 0.283 0.182 0.536 0.336 0.760
#
# P value adjustment method: none
答案 1 :(得分:0)
Welch-test可用于比较具有不同长度和标准误差的正态分布矢量的均值。该测试是R t.test()
函数中默认使用的测试。
因此,我猜你可以做你希望聚合从A02到结尾的所有向量,并将它与A01与t.test
进行比较(如果它们是正态分布的,你可以用ks.test
或shapiro.test
)。
然后,让测试的矢量随循环而变化,这应该可以解决问题。
但是,您必须手动修复多个测试问题(这不是很难)。