Добрый день.
Ничего не мешает запустить. Выдаёт хи, df и p, как и должно выдавать. Лучше, наверное, сформулировать задачку.
Цитата
#Пусть x - показатель, измеренный в порядковой шкале от 0 до 10. Есть 3 группы q,w,e. Задача: выяснить, есть ли различия в распределении между группами; если различия есть, то между какими группами именно; рассчитать силу эффекта, доверительный интервал силы эффекта для общего теста и парных сравнений.
#Дополнение к задаче: учесть влияние фактора f.
> x1<-c(1,2,1,2,3,4,0,4,2,1)
> x2<-c(5,4,6,2,5,4,7,5,6,8)
> x3<-c(7,8,6,9,6,8,7,7,9,10)
> x<-c(x1,x2,x3)
> f <- factor(rbinom(n = 30,size = 1,prob = 0.5), labels = c("no","yes"))
> g <- gl(n = 3,k = 10,length = 30,labels = c("q","w","e"))
> t<-data.frame(g,f,x)
> attach(t)
#Проверяем различие распределений в подгруппах q,w,e.
> kruskal.test(x~g)
#Kruskal-Wallis rank sum test
#data: x by g
#Kruskal-Wallis chi-squared = 21.674, df = 2, p-value = 1.966e-05
#Подгруппы различны. Чтобы понять за счет чего, можно провести парные сравнения.
> dunn.test(x,g,"BY",kw = FALSE)
# Comparison of x by g
# (Benjamini-Yekuteili)
#Col Mean-|
#Row Mean | q w
#---------+----------------------
# w | -2.516784
# | 0.0163*
# |
# e | -4.650301 -2.133517
# | 0.0000* 0.0301
# Теперь это все это нужно сделать в более общем виде.
> m<-orm(x~g)
> anova(m)
# Wald Statistics Response: x
#
# Factor Chi-Square d.f. P
# g 21.1 2 <.0001
# TOTAL 21.1 2 <.0001
> ctr<-contrast(m, list(g=c("q","q","w")),list(g=c("w","e","e")))
> ctr
# Contrast S.E. Lower Upper Z Pr(>|z|)
#1 1 -1.8661910 1.300574 -4.415270 0.6828876 -1.43 0.1513
#2 2 -4.9520552 1.566679 -8.022690 -1.8814200 -3.16 0.0016
#3* 3 -0.8692409 1.054338 -2.935705 1.1972231 -0.82 0.4097
#
#Redundant contrasts are denoted by *
#
#Confidence intervals are 0.95 individual intervals
> p.adjust(ctr$Pvalue,"BY",3)
# 1 2 3
#0.416119667 0.008651706 0.751094958
#Результат контрастов отличается от того, что было вызвано функцией dunn.test(). Может не та команда? Попробуем lrm.
> m<-lrm(x~g)
> anova(m)
# Wald Statistics Response: x
#
# Factor Chi-Square d.f. P
# g 21.1 2 <.0001
# TOTAL 21.1 2 <.0001
> ctr<-contrast(m, list(g=c("q","q","w")),list(g=c("w","e","e")))
> ctr
# Contrast S.E. Lower Upper Z Pr(>|z|)
#1 1 -4.082814 1.300574 -6.631893 -1.533736 -3.14 0.0017
#2 2 -7.168679 1.566679 -10.239314 -4.098043 -4.58 0.0000
#3* 3 -3.085864 1.054338 -5.152328 -1.019400 -2.93 0.0034
#
#Redundant contrasts are denoted by *
#
#Confidence intervals are 0.95 individual intervals
> p.adjust(ctr$Pvalue,"BY",3)
# 1 2 3
#4.658137e-03 2.610279e-05 6.278054e-03
#Результат более схож с результатами dunn.test().
#Проведём двухфакторный анализ порядковых данных.
> kruskal.test(x~g*f)
#Error in kruskal.test.formula(x ~ g * f) :
# 'formula'должна быть в виде отклик ~ группа
> anova(lrm(x~g*f))
# Wald Statistics Response: x
#
# Factor Chi-Square d.f. P
# g (Factor+Higher Order Factors) 21.70 4 0.0002
# All Interactions 0.76 2 0.6845
# f (Factor+Higher Order Factors) 1.29 3 0.7311
# All Interactions 0.76 2 0.6845
# g * f (Factor+Higher Order Factors) 0.76 2 0.6845
# TOTAL
> m<-lrm(x~g*f)
> contrast(m, list(g="q", f="no"), list(g="w",f="no"))
# f Contrast S.E. Lower Upper Z Pr(>|z|)
#1 no -4.734745 1.621549 -7.912923 -1.556566 -2.92 0.0035
#
#Confidence intervals are 0.95 individual intervals
> m<-orm(x~g*f)
> contrast(m, list(g="q", f="no"), list(g="w",f="no"))
# f Contrast S.E. Lower Upper Z Pr(>|z|)
#1 no -2.963172 1.621549 -6.141351 0.2150061 -1.83 0.0676
#
#Confidence intervals are 0.95 individual intervals
#Контрасты всё же различаются. Что-то не так делаю.
#Осталось ко всему этому рассчитать силу эффекта.