Выбор статистического теста (в R) двух явно разных распределений

У меня есть следующий список данных, каждый из которых имеет 10 образцов. Значения указывают на силу связывания конкретной молекулы.

Я хочу показать, что «x» статистически отличается от «y», «z» и «w». Что и происходит, если вы посмотрите на X, у него больше значений больше нуля (2,8, 1,00, 5,4 и т. д.), чем у других.

Я попробовал t-тест, но все они показывают незначительную разницу с высоким 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)

person neversaint    schedule 09.05.2013    source источник
comment
Чего вы ожидали, имея всего 10 образцов? Несмотря на это, x имеет только несколько больших значений, остальные кажутся сопоставимыми со значениями в других выборках. Вы не можете просто взять статистический тест, который даст вам правильный ответ.   -  person joran    schedule 09.05.2013
comment
Тем не менее, я полагаю, вы могли бы попробовать начальную загрузку.   -  person joran    schedule 09.05.2013
comment
@joran: Спасибо за вклад. Вы имеете в виду загрузку всего с 10 образцами? Как это сделать? Пожалуйста посоветуй.   -  person neversaint    schedule 09.05.2013
comment
ссылка: statmethods.net/advstats/bootstrapping.html   -  person adam.888    schedule 09.05.2013
comment
ссылка: ww2.coastal.edu/kingw/statistics/R-tutorials/ resample.html   -  person adam.888    schedule 09.05.2013


Ответы (3)


Вы не указали, каким образом вы ожидаете, что образцы будут отличаться. Обычно предполагается, что вы имеете в виду, что среднее значение отличается для разных выборок. В этом случае подходит t-тест. Хотя x имеет несколько высоких значений, у него также есть несколько низких значений, которые отражают среднее значение. Кажется, что то, что вы считали существенной разницей (визуально), на самом деле является большей дисперсией. .

Если ваш вопрос касается дисперсии, вам нужен F-тест.

person ndoogan    schedule 09.05.2013

Классическим тестом для этого типа данных является дисперсионный анализ. Дисперсионный анализ говорит вам, являются ли средние значения всех четырех категорий одинаковыми (неспособность отвергнуть нулевую гипотезу) или хотя бы одно среднее значение, вероятно, отличается от других (отказ от нулевой гипотезы).

Если анова значительна, вам часто потребуется выполнить апостериорный тест Тьюки 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               

Значение p анова составляет 0,113, и значения p теста Тьюки для вашей категории «x» находятся в аналогичном диапазоне. Это количественная оценка вашей интуиции, что «х» отличается от других. Большинство исследователей сочли бы p = 0,11 наводящим на размышления, но все же имеют слишком высокий риск ложноположительного результата. Обратите внимание, что большая разница в средних значениях (столбец diff) вместе с диаграммой ниже может быть более убедительной, чем 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")

введите здесь описание изображения

person bdemarest    schedule 09.05.2013

В своем вопросе вы упомянули, что распределения разные, потому что некоторые из них имели больше значений, превышающих 0. Определяя распределения в соответствии с «количеством значений больше 0», вы должны использовать биномиальное распределение (после преобразования значений до 1 и 0). Функция, которую вы могли бы использовать, будет prop.test()

person rbatt    schedule 09.05.2013