t.test в R дает странные результаты при назначении объекту списка - PullRequest
0 голосов
/ 29 августа 2018

Я определяю два четко различающихся вектора:

> x1 = c(3, 4, 3, 4)
> x2 = c(9, 8, 9, 7)

Если я выполняю t-тест, используя t.test , не назначая его имени объекта, я получаю ожидаемый результат. Как в:

> t.test(x1, x2)

# Gives the console output:

    Welch Two Sample t-test

data:  x1 and x2
t = -8.4971, df = 4.927, p-value = 0.000399
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -6.193426 -3.306574
sample estimates:
mean of x mean of y 
     3.50      8.25 

Это дает большое значение t и небольшое значение p, что позволяет предположить, что два вектора имеют разные средние значения, как и ожидалось. Однако, если я назначу t-критерий имени объекта для создания объекта списка:

mean.diff = mean(x1) - mean(x2)
ttst = t.test(
   x = x1,
   y = x2,
   alternative = "two.sided",
   mu = mean.diff,
   paired = FALSE,
   var.equal = FALSE,
   conf.level = 0.95
)

Результатом является всегда значение t, равное нулю, и значение p, равное 1, что предполагает, что два вектора идентичны. Это происходит независимо от векторов, я просто выбрал x1 и x2 в качестве примеров.

Что не так с моим кодом, который вызывает это, пожалуйста? Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Во втором примере вы проверяете, отличается ли разница в средних от mean.diff; поскольку вы вычисляете mean.diff как разницу в средних значениях x1 и x2 (mean.diff = mean(x1) - mean(x2)), статистика t равна точно 0, а соответствующее значение p является максимальным (т.е. равно 1). Таким образом, мы не можем отклонить нулевую гипотезу H0, где H0 соответствует разнице в средствах, равной mean.diff.

0 голосов
/ 29 августа 2018

Получаемый вами результат не имеет ничего общего с заданием: он вызван аргументом mu = mean.diff.

Согласно ?t.test, мю равен

число, указывающее истинное значение среднего значения (или разницу в значении, если вы выполняете тест с двумя образцами).

Так как вы устанавливаете фактическое значение разницы в средних, результирующее значение t всегда будет равно нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...