Вы можете использовать функцию z.test() из пакета BSDA для выполнения одного и двух выборочных z-тестов в R.
Эта функция использует следующий базовый синтаксис:
z.test(x, y, alternative='two.sided', mu= 0 , sigma.x=NULL, sigma.y=NULL,conf.level= .95 )
куда:
- x : значения для первого образца
- y : значения для второй выборки (при выполнении двухвыборочного z-теста)
- альтернатива : альтернативная гипотеза («больше», «меньше», «двусторонняя»)
- mu : среднее значение под нулевой или средней разностью (в случае двух выборок)
- sigma.x : стандартное отклонение генеральной совокупности для первой выборки
- sigma.y : стандартное отклонение генеральной совокупности второй выборки
- conf.level : уровень достоверности для использования
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1: один образец Z-теста в R
Предположим, что IQ в определенной популяции имеет нормальное распределение со средним значением μ = 100 и стандартным отклонением σ = 15.
Ученый хочет знать, влияет ли новое лекарство на уровень IQ, поэтому она набирает 20 пациентов для его использования в течение одного месяца и записывает их уровни IQ в конце месяца.
В следующем коде показано, как выполнить z-тест с одним образцом в R, чтобы определить, вызывает ли новое лекарство значительную разницу в уровнях IQ:
library (BSDA)
#enter IQ levels for 20 patients
data = c(88, 92, 94, 94, 96, 97, 97, 97, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 115)
#perform one sample z-test
z.test(data, mu= 100 , sigma.x= 15 )
One-sample z-Test
data: data
z = 0.90933, p-value = 0.3632
alternative hypothesis: true mean is not equal to 100
95 percent confidence interval:
96.47608 109.62392
sample estimates:
mean of x
103.05
Статистика теста для одного выборочного z-теста составляет 0,90933 , а соответствующее значение p равно 0,3632 .
Поскольку это p-значение не меньше 0,05, у нас нет достаточных доказательств, чтобы отклонить нулевую гипотезу.
Таким образом, мы делаем вывод, что новый препарат не оказывает существенного влияния на уровень IQ.
Пример 2: Z-тест с двумя выборками в R
Предположим, что известно, что уровни IQ среди людей в двух разных городах нормально распределены со стандартными отклонениями населения, равными 15.
Ученый хочет знать, различается ли средний уровень IQ между людьми в городе А и городе Б, поэтому он выбирает простую случайную выборку из 20 человек из каждого города и записывает их уровни IQ.
В следующем коде показано, как выполнить двухвыборочный z-тест в R, чтобы определить, отличается ли средний уровень IQ между двумя городами:
library (BSDA)
#enter IQ levels for 20 individuals from each city
cityA = c(82, 84, 85, 89, 91, 91, 92, 94, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 114)
cityB = c(90, 91, 91, 91, 95, 95, 99, 99, 108, 109,
109, 114, 115, 116, 117, 117, 128, 129, 130, 133)
#perform two sample z-test
z.test(x=cityA, y=cityB, mu= 0 , sigma.x= 15 , sigma.y= 15 )
Two-sample z-Test
data: cityA and cityB
z = -1.7182, p-value = 0.08577
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-17.446925 1.146925
sample estimates:
mean of x mean of y
100.65 108.80
Статистика теста для двух выборочных z-тестов составляет -1,7182 , а соответствующее значение p равно 0,08577.
Поскольку это p-значение не меньше 0,05, у нас нет достаточных доказательств, чтобы отклонить нулевую гипотезу.
Таким образом, мы делаем вывод, что средний уровень IQ между двумя городами существенно не различается.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные статистические тесты в R:
Как выполнить Z-тест одной пропорции
Как выполнить t-тест для парных выборок в R
Как выполнить t-тест Уэлча в R