7.5: Використання R для тестування значущості та аналізу дисперсії
- Page ID
- 17835
Базова установка R має функції для більшості тестів значущості, розглянутих у розділі 7.2 - Глава 7.4.
Використання R для порівняння відхилень
Функція R для порівняння дисперсій - var.test ()
, яка приймає наступний вигляд
var.test (x, y, співвідношення = 1, альтернатива = c («двохсторонній», «менше», «більше»), conf.level = 0.95,...)
де x
і y
- числові вектори, що містять дві вибірки, співвідношення
- очікуване співвідношення для нульової гіпотези (яка за замовчуванням дорівнює 1), альтернативою
є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двостороння
або двоххвіст), і conf.level
, що дає розмір довірчого інтервалу, який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\). Ми можемо використовувати цю функцію для порівняння дисперсій двох зразків,\(s_1^2\) vs\(s_2^2\), але не дисперсії вибірки та дисперсії для популяції\(s^2\) vs\(\sigma^2\).
Давайте використаємо R на даних з Прикладу 7.2.3, який розглядає два набори копійок США.
# створити вектори для зберігання даних
зразок 1 = с (3.080, 3.094, 3.107, 3.056, 3.112, 3.174, 3.198)
зразок 2 = с (3.052, 3,141, 3.083, 3.083, 3.048)
# запустити двосторонній тест на дисперсію з альфа = 0,05 та нульовою гіпотезою, що дисперсії рівні
var.test (x = зразок 1, y = зразк2, співвідношення = 1, альтернатива = «двохсторонній», conf.level = 0,95)
Наведений вище код дає наступний результат
F тест для порівняння двох дисперсій
дані: зразок 1 і зразк2
F = 1,8726, нум дф = 6, деном дф = 4, р-значення = 0,5661
альтернативна гіпотеза: істинне співвідношення дисперсій не дорівнює 1
95-відсотковий довірчий інтервал:
0.2036028 11.6609726
вибіркові кошториси: співвідношення дисперсій
1,872598
Дві частини цього результату призводять нас до збереження нульової гіпотези рівних дисперсій. По-перше, повідомлене p -значення 0,5661 більше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для співвідношення дисперсій, який проходить від 0,204 до 11,7 включає нульову гіпотезу, що це 1.
R не включає функцію для порівняння\(s^2\) з\(\sigma^2\).
Використання R для порівняння засобів
Функція R для порівняння засобів є t.test ()
і приймає наступний вигляд
t.test (x, y = NULL, альтернатива = c («двохсторонній», «менше», «більше»), mu = 0,
парний = БРЕХНЯ, var.дорівнює = FALSE, conf.level = 0.95,...)
де x
- числовий вектор, який містить дані для одного зразка, а y
- необов'язковий вектор, який містить дані для другого зразка, альтернативою
є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двоххвоста), mu
або очікуване середнє значення популяції або очікувана різниця в засобах двох вибірок, парні
- це логічне значення, яке вказує, чи є дані парними, var.equal
- це логічне значення, яке вказує, чи відхилення для двох вибірок розглядаються як рівні або нерівні (на основі prior var.test ()
) і conf.level
дає розмір довірчого інтервалу (який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\)).
Використання R для порівняння\(\overline{X}\) з\(\mu\)
Давайте використаємо R на даних з Прикладу 7.2.1, який розглядає визначення\(\% \text{Na}_2 \text{CO}_3\) в стандартній вибірці, яка, як відомо, дорівнює 98.76% w/w\(\text{Na}_2 \text{CO}_3\).
# створити вектор для зберігання даних
на2СО3 = с (98,71, 98,59, 98,62, 98,44, 98,58)
# запустити двосторонній t-тест, використовуючи mu для визначення очікуваного середнього; оскільки значення за замовчуванням
# для парних і var.equal є FALSE, ми можемо опустити їх тут
t.test (x = na2co3, альтернатива = «двохсторонній», му = 98.76, conf.level = 0,95)
Наведений вище код дає наступний результат
Один зразок t-тесту
дані: na2CO3
t = -3,9522, дф = 4, р-значення = 0,01679
альтернативна гіпотеза: істинне середнє значення не дорівнює 98,76
95-відсотковий довірчий інтервал:
98.46717 98.70883
зразок кошторису:
середнє значення x
98.588
Дві частини цього результату призводять нас до відкидання нульової гіпотези рівних дисперсій. По-перше, повідомлене p -значення 0,01679 менше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для експериментального середнього 98,588, який проходить від 98,467 до 98,709, не включає нульову гіпотезу, що це 98,76.
Використання R для порівняння засобів для двох зразків
Порівнюючи засоби для двох зразків, ми повинні бути обережними, щоб розглянути, чи є дані непарними чи парними, а для непарних даних ми повинні визначити, чи можемо ми об'єднати відхилення для двох вибірок.
Непарні дані
Давайте використаємо R на даних з Прикладу 7.2.4, який розглядає два набори копійок США. Ці дані є непарними, і, як ми показали раніше, немає жодних доказів того, що дисперсії двох зразків різні.
# створити вектори для зберігання даних
зразок 1 = с (3.080, 3.094, 3.107, 3.056, 3.112, 3.174, 3.198)
зразок 2 = с (3.052, 3,141, 3.083, 3.083, 3.048)
# запустити двосторонній t-тест, встановивши mu до 0 як нульова гіпотеза полягає в тому, що засоби однакові, і встановивши var.equal TRUE
t.test (x = зразк1, y = зразк2, альтернатива = «двохсторонній», mu = 0, var.equal = ІСТИНА, conf.level = 0,95)
Наведений вище код дає наступний результат
Два зразка t-тесту
дані: зразок 1 і зразк2
t = 1,3345, дф = 10, р-значення = 0,2116
альтернативна гіпотеза: істинна різниця засобів не дорівнює 0
95-відсотковий довірчий інтервал:
-0.0240 3040 0,09580182
зразок кошторису:
середнє x середнє значення y
3.117286 3.081400
Дві частини цього результату призводять нас до збереження нульової гіпотези рівних засобів. По-перше, повідомлене p -значення 0.2116 більше, ніж наше критичне значення для\(\alpha\) 0,05, а по-друге, 95% довірчий інтервал для різниці в експериментальних засобах, який проходить від -0,0240 до 0,0958, включає нульову гіпотезу, що вона дорівнює 0.
Парні дані
Скористаємося R на даних з прикладу 7.2.1, в якому порівнюються два методи визначення концентрації антибіотика моненсін в чанах для бродіння.
# створити вектори для зберігання даних
мікробіологічні = с (129,5, 89,6, 76,6, 52,2, 110.8, 50,4, 72.4, 141,4, 75.0, 34.1, 60,3)
електрохімічні = с (132.3, 91.0, 73.6, 58.2, 104.2, 49.9, 82.1, 154.1, 73.4, 38.1, 60.1)
# запустити двоххвостий t-тест, встановивши mu до 0 як нульова гіпотеза полягає в тому, що засоби однакові, і встановивши в парі TRUE
t.test (x = мікробіологічний, y = електрохімічний, альтернатива = «двохсторонній», mu = 0, парний = TRUE, conf.level = 0,95)
Наведений вище код дає наступний результат
Парний t-тест
дані: мікробіологічні та електрохімічні
т = -1,3225, дф = 10, р-значення = 0,2155
альтернативна гіпотеза: істинна різниця засобів не дорівнює 0
95-відсотковий довірчий інтервал:
-6,028684 1,5 37775
зразок кошторису:
середнє значення відмінностей
-2.245455
Дві частини цього результату призводять нас до збереження нульової гіпотези рівних засобів. По-перше, повідомлене p -значення 0,2155 більше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для різниці в експериментальному середньому, який проходить від -6,03 до 1,54, включає нульову гіпотезу, що вона дорівнює 0.
Використання R для виявлення викидів
Базова установка R не включає тести для викидів, але пакет викидів
надав функції для Q-Test Dixon та тесту Grubb. Для установки пакета використовуйте наступні рядки коду:
install.packages («викиди»)
бібліотека (викиди)
Вам потрібно встановити пакунок лише один раз, але ви повинні використовувати library ()
, щоб зробити пакунок доступним під час початку нового сеансу R.
Q-тест Діксона
Функція R для Q-тесту Діксона - dixon.test ()
і приймає наступний вигляд
dixon.test (х, тип, двосторонній)
де x
- числовий вектор з даними, які ми розглядаємо, тип
визначає конкретне значення (и), яке ми тестуємо (ми будемо використовувати тип = 10
, який перевіряє один викид на будь-якому кінці ранжованих даних), і двох.односторонній
, який вказує, чи використовуємо ми однохвостий або двоххвостий тест (ми будемо використовувати two.sided = FALSE
, оскільки нас цікавить, чи найменше значення занадто мале або найбільше значення занадто велике).
Давайте використаємо R на даних з Прикладу 7.2.7, який розглядає маси безлічі копійок США.
копійки = с (3.067, 2.514, 3.094, 3.049, 3.048, 3.0109, 3.039, 3.079, 3.079, 3.0102)
dixon.test (х = копійки, двохсторонній = БРЕХНЯ, тип = 10)
Наведений вище код дає наступний результат
Тест Діксона на викиди
дані: пенні Q = 0,88235, р-значення < 2,2e-16
альтернативна гіпотеза: найнижче значення 2.514 є викидом
Повідомлене p -значення менше, ніж\(2.2 \times 10^{-16}\) наше критичне\(\alpha\) значення для 0,05, що говорить про те, що копійка з масою 2,514 г витягується з іншої популяції, ніж інші копійки.
Тест Грубба
Функція R для тесту Грубба є grubbs.test ()
і приймає наступний вигляд
gurbbs.test (х, тип, двохсторонній)
де x
- числовий вектор з даними, які ми розглядаємо, тип
визначає конкретне значення (и), яке ми тестуємо (ми будемо використовувати тип = 10
, який перевіряє один викид на будь-якому кінці ранжованих даних), і двох.односторонній
, який вказував, чи використовуємо ми однохвостий або двоххвостий тест (ми будемо використовувати two.sided = FALSE
, оскільки нас цікавить, чи найменше значення занадто мале або найбільше значення занадто велике).
Давайте використаємо R на даних з Прикладу 7.2.7, який розглядає маси безлічі копійок США.
копійки = с (3.067, 2.514, 3.094, 3.049, 3.048, 3.0109, 3.039, 3.079, 3.079, 3.0102)
grubbs.test (х = копійки, двохсторонній = БРЕХНЯ, тип = 10)
Наведений вище код дає наступний результат
Тест Груббса на один викид
дані: копійка
Г = 2,64300, U = 0,01768, р-значення = 9,69е-07
альтернативна гіпотеза: найнижче значення 2.514 є викидом
Повідомлене p-значення\(9.69 \times 10^{-7}\) менше нашого критичного значення для\(\alpha\) 0,05, що говорить про те, що копійка з масою 2,514 г витягується з іншої популяції, ніж інші копійки.
Використання R для завершення непараметричних тестів значущості
Функція R для завершення тесту рангу, підписаного Уілкоксоном, і тест на суму рангу Wilcoxson wilcox.test ()
, який приймає наступну форму
wilcox.test (x, y = NULL, альтернатива = c («двохсторонній», «менше», «більше»), му = 0,
парні = БРЕХНЯ, conf.level = 0.95,...)
де x
- числовий вектор, який містить дані для одного зразка, а y
- необов'язковий вектор, який містить дані для другого зразка, альтернативою
є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двоххвоста), mu
або Очікуване середнє значення популяції або очікувана різниця в засобах двох вибірок, парні
є логічним значенням, яке вказує, чи є дані парними, а conf.level
дає розмір довірчого інтервалу (який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\)).
Використання R для завершення тесту на ранг, підписаний Уілкоксоном
Скористаємося R на даних з прикладу 7.3.1, в якому порівнюються два методи визначення концентрації антибіотика моненсін в чанах для бродіння.
# створити вектори для зберігання даних
мікробіологічні = с (129,5, 89,6, 76,6, 52,2, 110.8, 50,4, 72.4, 141,4, 75.0, 34.1, 60,3)
електрохімічні = с (132.3, 91.0, 73.6, 58.2, 104.2, 49.9, 82.1, 154.1, 73.4, 38.1, 60.1)
# запустити двоххвостий тест рангу, підписаний wilcoxson, встановивши mu до 0, як нульова гіпотеза полягає в тому, що
# засоби однакові і установка в парі з TRUE
wilcox.test (x = мікробіологічний, y = електрохімічний, альтернатива = «двохсторонній», mu = 0, парний = ІСТИНА, conf.level = 0,95)
Наведений вище код дає наступний результат
Вілкоксон підписав ранговий тест
дані: мікробіологічні та електрохімічні
V = 22, р-значення = 0,3652
альтернативна гіпотеза: істинний зсув розташування не дорівнює 0
де значення V - менший з двох підписаних рядів. Повідомлене p -значення 0.3652 більше, ніж наше критичне\(\alpha\) значення для 0.05, що означає, що ми не маємо доказів того, що існує різниця між середніми значеннями для двох методів.
Використання R для завершення тесту на суму рангу Вілкоксона
Скористаємося R на даних з прикладу 7.3.2, який порівнює два методи визначення кількості аспірину в таблетках з двох виробничих партій.
# створити вектори для зберігання даних
лот1 = с (256, 248, 245, 244, 248, 261)
лот 2= с (241, 258, 241, 256, 254)
# запустити двоххвостий тест рангу, підписаний wilcoxson, встановивши mu до 0 як нульова гіпотеза
# що засоби однакові, і установка в парі TRUE
wilcox.test (x = lot1, y = lot2, альтернатива = «двохсторонній», mu = 0, парний = FALSE, conf.level = 0,95)
Наведений вище код дає наступний результат
Тест на суму рангу Wilcoxon з корекцією безперервності
дані: лот1 і лот2
W = 16,5, р-значення = 0,8541
альтернативна гіпотеза: істинний зсув розташування не дорівнює 0
Попереджувальне повідомлення:
У wilcox.test.default (x = lot1, y = lot2, альтернатива = «двохсторонній»,: неможливо обчислити точне p-значення за допомогою зв'язків
де значення W - більша з двох ранжованих сум. Повідомлене p -значення 0.8541 більше, ніж наше критичне\(\alpha\) значення для 0.05, що означає, що ми не маємо доказів того, що існує різниця між середніми значеннями для двох методів. Примітка: тут ми можемо ігнорувати попереджувальне повідомлення, оскільки наше обчислене значення для p дуже велике відносно 0,05.\(\alpha\)
Використання R для завершення аналізу дисперсії
Давайте використаємо дані в прикладі 7.3.1, щоб показати, як завершити аналіз дисперсії в R. Спочатку нам потрібно створити окремі числові вектори для кожного лікування, а потім об'єднати ці вектори в єдиний числовий вектор, який ми будемо називати відновленням, який містить результати для кожного лікування.
а = с (101, 101, 104)
б = с (100, 98, 102)
с = с (90, 92, 94)
відновлення = с (а, б, в)
Нам також потрібно створити вектор рядків символів, який ідентифікує окремі процедури для кожного елемента відновлення вектора.
лікування = с (реп («а», 3), реп («б», 3), реп («с», 3))
Функцією R для завершення дисперсійного аналізу є aov ()
, яка приймає наступний вигляд
аов (формула,...)
де формула - це спосіб сказати R «пояснити цю змінну за допомогою цієї змінної.» Ми розглянемо формули більш детально в розділі 8, але в цьому випадку синтаксис відновлення ~ лікування
, що означає моделювати відновлення на основі лікування. У коді нижче ми присвоюємо висновок функції aov ()
змінній, щоб ми мали доступ до результатів дисперсійного аналізу
aov_output = aov (відновлення ~ лікування)
через функцію summary ()
резюме (aov_output)
Df Сума Sq Середнє значення Sq F Pr (>F)
лікування 2 168 84,00 22,91 0,00155 **
Незалишки 6 22 3.67
— Знак. коди: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '1
Зверніть увагу, що те, що ми раніше називали дисперсією між дисперсією, ідентифікується тут як дисперсія через лікування, і що ми раніше називали дисперсію всередині ідентифікується її як залишкова дисперсія. Як ми бачили в прикладі 7.3.1, значення для F exp значно більше, ніж критичне значення для F at\(\alpha = 0.05\).
Знайшовши докази того, що існує значна різниця між методами лікування, ми можемо використовувати функцію TukeyHSD ()
R для ідентифікації джерела (ів) цієї різниці (HSD розшифровується як чесна значна різниця), яка приймає загальну форму
Туреччина HSD (x, конф. Рівень = 0,95,...)
де x
- об'єкт, який містить результати дисперсійного аналізу.
Туреччина HSD (aov_вихід)
Туреччина множинні порівняння засобів
95% сімейний рівень довіри
Fit: aov (формула = відновлення ~ лікування)
$ лікування
Дифф Лар upr р адж
б-а -2 -6,797161 2.797161 0.4554965
з-а -10 -14.797161 -5.202839 0.0016720
с-б -8 -12,797161 -3,202839 0,0052447
Таблиця в кінці виводу показує, для кожної пари обробок, різницю в їх середніх значеннях, нижньому і верхньому значеннях для довірчого інтервалу про середнє, і значення для\(\alpha\), яке в R вказано як скориговане p -значення, для якого ми можемо відхилити нуль гіпотеза про те, що засоби ідентичні. У цьому випадку ми можемо побачити, що результати лікування С значно відрізняються від обох методів лікування А і В.
Ми також можемо переглядати результати аналізу tukeyHSD візуально, передаючи його функції R plot ()
.
сюжет (Туреччина HSD (aov_output))
