ICC, когда количество судей не является постоянным - PullRequest
1 голос
/ 08 июля 2010

У меня следующая проблема.Мне нужно рассчитать ICC Shrout & Fleiss для ситуации, в которой предметы оцениваются различным числом судей.Например, конкурентный характер отрасли оценивается для ряда отраслей, но с разным числом судей в каждой отрасли.Одну отрасль оценивают только 2 судьи, в то время как о конкурентной природе другой отрасли могут судить до 12 судей.Я использовал функции ICC (package psych) и icc (package irr) для определения icc, но неясно, могут ли они иметь дело с различным числом судей.Кто-нибудь может мне с этим помочь?Как рассчитать S & F ICC, когда количество судей является переменным?Я бы предпочел продолжать использовать R для этого, но если это лучше сделать с помощью другого программного обеспечения, я хотел бы также получить эти предложения.

1 Ответ

4 голосов
/ 11 августа 2010

Для этого я использовал иерархическое линейное моделирование.Я посмотрел на заметки профессора Селтмана HML для R , чтобы узнать как.Хитрость заключается в том, чтобы получить условия отклонения для ICC с переменным количеством судей.

library(lme4)

# calculate the hierarchical model
m1 = lmer(score ~ (1|item_id) + (1|judge_id), data=d)
print(m1)

# helper function to pull out the variances
xVars <- function(model) {
    exvars = lme4::VarCorr(model)
    vars = c(exvars$item_id[1,1], exvars$judge_id[1,1], attr(exvars,"sc")^2) 
    names(vars) <- c('item var', 'judge var', 'residual var')
    vars
}
# helper function for ICC(k) variations
icck <- function(variances, k=1) {
    icc = variances[1] / (variances[1] + (variances[2] + variances[3]) / k)
    names(icc) = c(paste('ICC', k, sep=''))
    icc
}

# the output you want
icc1 = icck(xVars(m1))
print(icc1)
icc8 = icck(xVars(m1), 8)
print(icc8)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...