选择两个明显不同的分布的统计检验(在R中)

时间:2013-05-09 01:35:13

标签: r statistics statistical-test

我有以下数据列表,每个数据有10个样本。 该值表示特定分子的结合强度。

我想要表示的是'x'在统计上与...不同 'y','z'和'w'。如果你看看X它有什么作用 比其他值更多的值大于零(2.8,1.00,5.4等)。

我尝试过t-test,但是所有这些都显示出微不足道的差异 具有高P值。

适当的测试是什么?

以下是我的代码:

#!/usr/bin/Rscript
x   <-c(2.852672123,0.076840264,1.009542943,0.430716968,5.4016,0.084281843,0.065654548,0.971907344,3.325405405,0.606504718)
y   <- c(0.122615039,0.844203734,0.002128992,0.628740077,0.87752229,0.888600425,0.728667099,0.000375047,0.911153571,0.553786408);
z   <- c(0.766445916,0.726801899,0.389718652,0.978733927,0.405585807,0.408554832,0.799010791,0.737676439,0.433279599,0.947906524)
w   <- c(0.000124984,1.486637663,0.979713013,0.917105894,0.660855127,0.338574774,0.211689885,0.434050179,0.955522972,0.014195184)

t.test(x,y)
t.test(x,z)

3 个答案:

答案 0 :(得分:6)

您没有指定您希望样本以何种方式存在差异。一个人通常认为你的意思是平均值不同样本。在这种情况下, t - 测试是合适的。虽然x具有一些较高的值,但它也有一些较低的值可以拉平均值。看来你认为是一个显着的差异(视觉上)实际上是一个更大的方差

如果您的问题与差异有关,那么您需要 F - 测试。

答案 1 :(得分:5)

此类数据的经典测试是方差分析。方差分析告诉您所有四个类别的均值是否可能相同(未能拒绝原假设),或者至少有一个均值可能与其他均值不同(拒绝零假设)。

如果anova很重要,您通常会想要执行Tukey HSD事后测试,以确定哪个类别与其他类别不同。 Tukey HSD产生的p值已经针对多重比较进行了调整。

library(ggplot2)
library(reshape2)

x <- c(2.852672123,0.076840264,1.009542943,0.430716968,5.4016,0.084281843,
       0.065654548,0.971907344,3.325405405,0.606504718)
y <- c(0.122615039,0.844203734,0.002128992,0.628740077,0.87752229,
       0.888600425,0.728667099,0.000375047,0.911153571,0.553786408);
z <- c(0.766445916,0.726801899,0.389718652,0.978733927,0.405585807,
       0.408554832,0.799010791,0.737676439,0.433279599,0.947906524)
w <- c(0.000124984,1.486637663,0.979713013,0.917105894,0.660855127,
       0.338574774,0.211689885,0.434050179,0.955522972,0.014195184)

dat = data.frame(x, y, z, w)
mdat = melt(dat)

anova_results = aov(value ~ variable, data=mdat)
summary(anova_results)
#             Df Sum Sq Mean Sq F value Pr(>F)
# variable     3   5.83  1.9431   2.134  0.113
# Residuals   36  32.78  0.9105               

anova p值为0.113,“x”类别的Tukey测试p值在相似范围内。这是你的直觉的量化,“x”与其他人不同。大多数研究人员会发现p = 0.11具有提示性,但仍然具有过高的假阳性风险。请注意,平均值(差异列)与下面的箱线图的差异可能比p值更具说服力。

TukeyHSD(anova_results)
#   Tukey multiple comparisons of means
#     95% family-wise confidence level
# 
# Fit: aov(formula = value ~ variable, data = mdat)
# 
# $variable
#            diff       lwr       upr     p adj
# y-x -0.92673335 -2.076048 0.2225815 0.1506271
# z-x -0.82314118 -1.972456 0.3261737 0.2342515
# w-x -0.88266565 -2.031981 0.2666492 0.1828672
# z-y  0.10359217 -1.045723 1.2529071 0.9948795
# w-y  0.04406770 -1.105247 1.1933826 0.9995981
# w-z -0.05952447 -1.208839 1.0897904 0.9990129

plot_1 = ggplot(mdat, aes(x=variable, y=value, colour=variable)) + 
         geom_boxplot() +
         geom_point(size=5, shape=1)
ggsave("plot_1.png", plot_1, height=3.5, width=7, units="in")

enter image description here

答案 2 :(得分:2)

在你的问题中,你提到了不同的分布b / c其中一些有更多的值大于0.根据“大于0的值的数量”定义分布,那么你将使用二项分布(之后)将值转换为1和0)。您可以使用的功能是prop.test()