Мене бентежить наступне, і я не змогла викопати відповідь деінде.
Я намагаюся вивчити R, роблячи деякі статистичні дані, і, як вправу, я намагаюся двічі перевірити результати вбудованих функцій R, також виконуючи ці "вручну", як це було в Р. Однак , для тесту Kruskal-Wallis я отримую різні результати, і я не можу зрозуміти, чому.
Наприклад, я переглядаю наступні дані, що передаються у вправі
activity <- c(2, 4, 3, 2, 3, 3, 4, 0, 4, 3, 4, 0, 0, 1, 3, 1, 2, 0, 3, 1, 0, 3, 4, 0, 1, 2, 2, 2, 3, 2)
group <- c(rep("A", 11), rep("B", 10), rep("C", 9))
group <- factor(group)
data.raw <- data.frame(activity, group)
І я хочу проаналізувати діяльність по групах. Спочатку я запускаю тест Крускала-Уолліса за допомогою вбудованої функції R
kruskal.test(activity ~ group, data = data.raw)
Що повертає .
Для повторної перевірки я намагаюся зробити те ж саме "вручну" в R із наступним (без сумніву, безпорадним) кодом
rank <- rank(activity)
data.rank <- data.frame(rank, group)
rank.sum <- aggregate(rank ~ group, data = data.rank, sum)
x <- rank.sum[1,2]^2 / 11 + rank.sum[2,2]^2 / 10 + rank.sum[3,2]^2 / 9
H <- (12 / (length(activity) * (length(activity) + 1))) * x - 3 * (length(activity) + 1)
H
Що означає відображення наступної формули:
Де - загальна кількість спостережень, - кількість груп, - кількість спостережень в й групі, а - сума рангів ї групи.
І тепер я отримую , що, додаючи моєї плутанини, також є відповіддю, що дається для відповідної вправи. Я спробував це для декількох різних наборів даних, і я, як правило, отримую трохи більше значення для за допомогою вбудованої функції.
Я намагався шукати, щоб зрозуміти, що я роблю неправильно чи не розумію, але безрезультатно. Чи може хто-небудь допомогти мені зрозуміти, чому вбудована kruskal.test
функція повертає значення, відмінне від того, яке я отримую, написавши речі?