Здравствуйте, гость ( Вход | Регистрация )
2.02.2013 - 22:10
Сообщение
#1
|
|
|
Группа: Пользователи Сообщений: 21 Регистрация: 2.02.2013 Пользователь №: 24597 |
Всем здравствуйте!
Прошу строго не судить, если излагаю банальные вопросы, тем не менее, они у меня возникли, и я очень рад, что нашел ресурс, где их можно обсудить. Читаю книгу О.Ю.Ребровой "Статистический анализ медицинских данных", раздел 10 "сравнение групп по качественному признаку", где на стр.148 приводится в качестве примера для сравнения двух групп и более использование таблиц сопряженности и метода Пирсона хи-квадрат. Решаемая нами задача аналогична изложенной в книге, мы получили определенные результаты, и я очень прошу уважаемых форумчан подсказать, насколько правильно я интерпретировал полученные результаты. Итак, необходимо сравнить распространенность больных с I, II,III стадиями гипертонической болезни в группах больных инфарктом миокарда и инсультом (в нашем случае, заболевания другие, данный пример придуман). Нулевая гипотеза: - группы однородны (между группами отсутствуют различия); - распределение по одному признаку не влияет на распределение по другому признаку. После анализа данных получены следующие результаты (в прикрепленном файле). Вывод: нулевая гипотеза отклоняется, изучаемые группы значимо различаются и признаки умеренно ассоциированы. Сообщение отредактировал aspir_h - 2.02.2013 - 22:41
Прикрепленные файлы
|
|
|
![]() |
![]() |
![]() |
12.02.2013 - 13:47
Сообщение
#2
|
|
|
Группа: Пользователи Сообщений: 1325 Регистрация: 27.11.2007 Пользователь №: 4573 |
Да, относительно референтной группы интересно получить результат, но у меня не сходится ручной расчет по этому коду при сравнении конкретно табл 2хk. Пример из учебника есть тут, на стр 175-176
http://books.google.com.ua/books?id=EpEfWv...ple&f=false Я получаю руками 0,604 как в книге и 0,310 если поменять местами группы, а пакет выдает 0,578 и 0,473. Или иранский студент, автор кода, что то не так делает, но результат не сходится. Проверить можно только в SAS , но профессиональный статистик, работающий под прикрытием TL и который нам поведал про RIDI о результатх умалчивает. Я надеюсь, что Вы, уважаемы p2012 сможете свой код написать с понятным вводом таблицы сопряженности, может я не верно ввожу таблицу, не указываю, что она cross. Сообщение отредактировал DrgLena - 12.02.2013 - 14:26
Прикрепленные файлы
|
|
|
![]() |
![]() |
13.02.2013 - 09:50
Сообщение
#3
|
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Да, относительно референтной группы интересно получить результат, но у меня не сходится ручной расчет по этому коду при сравнении конкретно табл 2хk. Пример из учебника есть тут, на стр 175-176 http://books.google.com.ua/books?id=EpEfWv...ple&f=false Я получаю руками 0,604 как в книге и 0,310 если поменять местами группы, а пакет выдает 0,578 и 0,473. Или иранский студент, автор кода, что то не так делает, но результат не сходится. Проверить можно только в SAS , но профессиональный статистик, работающий под прикрытием TL и который нам поведал про RIDI о результатх умалчивает. Я надеюсь, что Вы, уважаемы p2012 сможете свой код написать с понятным вводом таблицы сопряженности, может я не верно ввожу таблицу, не указываю, что она cross. что делает иранский студент легко увидеть набрав ?ridit.raw Код ## The function is currently defined as function (x, g, ref = NULL) { x = as.numeric(x) x = as.vector(x) g = as.factor(g) levels = levels(g) levels(g) = 1:length(levels) g = as.vector(g) g = as.character(g) code = is.numeric(ref) ref = as.vector(ref) ref = as.character(ref) if (length(ref) > 1) { x = c(x, ref) g = c(g, rep(".ref", length(ref))) levels = c(".ref", levels) } crosstab = t(as.matrix(table(x, g))) rownames(crosstab) = levels refindex = NULL if (length(ref) == 1) { if (!code) refindex = which(levels == ref) if (code && ref >= 1 && ref <= nrow(crosstab)) refindex = as.numeric(ref) } else if (length(ref) > 1) refindex = which(levels == ".ref") if (length(refindex) != 0) refrow = crosstab[refindex, ] else refrow = apply(crosstab, 2, sum) if (length(refindex) == 0) msg = paste("Reference: Total of all groups", sep = "") else msg = paste("Reference: Group = ", refindex, ", Label = ", levels[refindex], sep = "") nref = sum(refrow) ridit = 0.5 * refrow[1]/nref for (i in 2:length(refrow)) { iridit = (sum(refrow[1:i - 1]) + 0.5 * refrow[i])/nref ridit = c(ridit, iridit) } n = apply(crosstab, 1, sum) meanRidit = c() for (i in 1:nrow(crosstab)) { itable = crosstab[i, ] meanRidit = c(meanRidit, sum(ridit * itable)/n[i]) } n0 = sum(n) rbar0 = sum(n * meanRidit)/n0 t = apply(crosstab, 2, sum) f = 1 - (sum(t * (t - 1) * (t + 1)))/(n0 * (n0 - 1) * (n0 + 1)) teststatistic = (12 * n0 * sum(n * (meanRidit - rbar0)^2))/((n0 + 1) * f) testdf = nrow(crosstab) - 1 pvalue = pchisq(q = teststatistic, df = testdf, lower.tail = FALSE) if (length(ref) == 0) ref = NULL names(meanRidit) = rownames(crosstab) output = list(MeanRidit = meanRidit, TestStatistic = teststatistic, df = testdf, Sig = pvalue, x = x, g = g, ref = ref, crosstab = crosstab, msg = msg) class(output) <- c("ridit", class(output)) output } если посмотреть в сравнении с немодифицированным тестом, то сумма сходится Код > str(ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1)) List of 9 $ MeanRidit : Named num [1:5] 0.535 0.573 0.462 0.462 0.473 ..- attr(*, "names")=8322456 [1:5] "A" "B" "C" "D" ... $ TestStatistic: num 13.2 $ df : num 4 $ Sig : num 0.0104 $ x : num [1:325] 1 2 2 2 3 3 3 3 3 3 ... $ g :8322456 [1:325] "1" "1" "1" "1" ... $ ref : NULL $ crosstab : 'table' int [1:5, 1:4] 1 0 0 0 1 3 0 2 2 6 ... ..- attr(*, "dimnames")=List of 2 .. ..$ g:8322456 [1:5] "A" "B" "C" "D" ... .. ..$ x:8322456 [1:4] "1" "2" "3" "4" $ msg :8322456 "Reference: Total of all groups" - attr(*, "class")=8322456 [1:2] "ridit" "list" > ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1)$x [1] 1 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [38] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 [75] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [112] 4 4 4 4 4 4 4 4 4 4 4 4 4 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [149] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [186] 4 4 4 4 4 4 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 [223] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 [260] 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [297] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 > ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1)$g [1] "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" [19] "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" [37] "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" [55] "1" "1" "1" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" [73] "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" [91] "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" [109] "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "3" "3" [127] "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" [145] "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" [163] "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" [181] "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "4" "4" "4" "4" "4" "4" "4" [199] "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" [217] "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" [235] "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" "4" [253] "4" "4" "4" "4" "4" "4" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" [271] "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" [289] "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" [307] "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" [325] "5" > kruskal.test(ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1)$x, as.factor(ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1)$g)) Kruskal-Wallis rank sum test data: ridit(as.table(matrix(c(1, 3, 7, 46, 0, 0, 9, 58, 0, 2, 22, 43, and as.factor(ridit(as.table(matrix(c(1, 3, 7, 46, 0, 0, 9, 58, 0, 0, 2, 22, 43, 1, 6, 14, 46), nrow = 5, byrow = TRUE)), 1)$x and 2, 22, 43, 0, 2, 22, 43, 1, 6, 14, 46), nrow = 5, byrow = TRUE)), ridit(as.table(matrix(c(1, 3, 7, 46, 0, 0, 9, 58, 0, 2, 22, 43, and 1)$g) Kruskal-Wallis chi-squared = 13.1813, df = 4, p-value = 0.01042 > ridit(as.table(matrix(c(1,3,7,46,0,0,9,58,0,2,22,43,0,2,22,43,1,6,14,46), nrow = 5, byrow = TRUE)),1) Ridit Analysis: Group Label Mean Ridit ----- ----- ---------- 1 A 0.5351 2 B 0.5729 3 C 0.4621 4 D 0.4621 5 E 0.4731 Reference: Total of all groups chi-squared = 13.1813, df = 4, p-value = 0.01042 учебник пока не смотрел... ![]() |
|
|
![]() |
![]() |
aspir_h Интерпретация полученных результатов 2.02.2013 - 22:10
nokh Цитата(aspir_h @ 3.02.2013 - 01:10) ... 2.02.2013 - 23:18
aspir_h В связи с тем, что ув. nokh сделал следующее разъя... 11.02.2013 - 22:43
aspir_h nokh, огромное спасибо за подробное разъяснение... 2.02.2013 - 23:33
aspir_h Если залезть немного глубже, то для ваших данных п... 7.02.2013 - 14:05
nokh Цитата(aspir_h @ 7.02.2013 - 17:05) ... 7.02.2013 - 21:46
Larina Tatjana Цитата(aspir_h @ 7.02.2013 - 20:35) ... 7.02.2013 - 23:53
p2004r Цитата(Larina Tatjana @ 7.02.2013 - 23... 8.02.2013 - 20:01
aspir_h Глубокоуважаемые nokh, Larina Tatjana!
Огромн... 8.02.2013 - 09:23
DrgLena Да, вольтарен сильное лекарство, против обычного г... 8.02.2013 - 21:33
DrgLena Цитата(p2004r @ 8.02.2013 - 20:01) ж... 8.02.2013 - 21:44
p2004r Цитата(DrgLena @ 8.02.2013 - 21:44) ... 9.02.2013 - 19:50
aspir_h Цитата(DrgLena @ 8.02.2013 - 21:33) ... 9.02.2013 - 08:44
DrgLena Да, я не про эффект лечебной процедуры, а про эффе... 9.02.2013 - 10:49
DrgLena Матрицу я создала для этой таблицы, и задаю g=2, н... 9.02.2013 - 20:28
p2004r Цитата(DrgLena @ 9.02.2013 - 20:28) ... 9.02.2013 - 21:00
DrgLena Спасибо большое, р2004, буду разбираться 9.02.2013 - 21:41
DrgLena Уважаемый р2004, мой тяжкий путь познания R тормоз... 11.02.2013 - 13:12
p2004r Цитата(DrgLena @ 11.02.2013 - 13:12)... 12.02.2013 - 13:01
DrgLena Прежде, чем рассуждать о результатах статистическо... 12.02.2013 - 10:51
aspir_h Ув. DrgLena, логика моих рассуждений и действий сл... 12.02.2013 - 11:31
aspir_h Цитата(aspir_h @ 12.02.2013 - 11:31)... 13.02.2013 - 10:24
p2004r Цитата(aspir_h @ 13.02.2013 - 10:24)... 13.02.2013 - 11:40
100$ Цитата(aspir_h @ 13.02.2013 - 10:24)... 13.02.2013 - 13:10
DrgLena Цитата(100$ @ 13.02.2013 - 13:1... 13.02.2013 - 13:31
DrgLena to p2004,
Спасибо, мное стало понятным, но,
сход... 13.02.2013 - 13:36
p2004r Цитата(DrgLena @ 13.02.2013 - 13:36)... 14.02.2013 - 01:40
aspir_h Ув. DrgLena! На мой первый пост:
Цитата(aspir... 13.02.2013 - 14:40
DrgLena Но хотя бы русским вы владеть должны!
Разрабо... 13.02.2013 - 16:44
100$ Самый известный тест, ассоциирующийся с именами Кр... 13.02.2013 - 19:37
nokh Цитата(100$ @ 13.02.2013 - 22:3... 13.02.2013 - 20:57
aspir_h Цитата(nokh @ 13.02.2013 - 20:57) Бь... 13.02.2013 - 21:00
nokh Цитата(aspir_h @ 14.02.2013 - 00:00)... 13.02.2013 - 21:52
aspir_h Цитата(nokh @ 13.02.2013 - 21:52) У ... 13.02.2013 - 22:08
nokh Цитата(aspir_h @ 14.02.2013 - 01:08)... 13.02.2013 - 22:14
aspir_h Цитата(nokh @ 13.02.2013 - 22:14) Эт... 13.02.2013 - 22:20
DrgLena Действительно, все меньше открытой полезной инфы с... 14.02.2013 - 20:02
DrgLena Наконец то разобралась, пришпиленный документ - ис... 17.02.2013 - 11:52
psychologist коллеги, помогите проинтерпретировать данные по ко... 17.02.2013 - 12:43
DrgLena А свою тему открыть? 17.02.2013 - 12:50
psychologist Будучи сам админом одного из форумов, никогда не п... 17.02.2013 - 21:57
DrgLena Да, действительно, тема про интерпретацию полученн... 17.02.2013 - 23:01
DoctorStat Цитата(DrgLena @ 17.02.2013 - 23:01)... 18.02.2013 - 10:27
aspir_h Цитата(DrgLena @ 17.02.2013 - 23:01)... 18.02.2013 - 11:09
DrgLena Ответ на Ваш вопрос дан, перечислены методы, котор... 18.02.2013 - 12:39
aspir_h Уважаемые друзья! По имеющимся данным таблицы ... 5.08.2013 - 14:30
nokh Цитата(aspir_h @ 5.08.2013 - 17:30) ... 6.08.2013 - 10:15
aspir_h Цитата(nokh @ 6.08.2013 - 11:15) Не ... 6.08.2013 - 12:57
DrgLena Цитата(nokh @ 6.08.2013 - 10:15) Не ... 6.08.2013 - 11:20![]() ![]() |