当法官的数量不恒定时,icc是

时间:2010-07-08 15:21:31

标签: r statistics

我有以下问题。 我需要计算Shrout& Fleiss ICC用于由不同数量的评委评判项目的情况。例如,一个行业的竞争性质是针对一组行业来判断的,但每个行业的评判人数不同。一个行业仅由2名评委评判,而另一行业的竞争性质可由最多12名评委评判。我已经使用ICC(包心理)和icc(包irr)函数来确定icc,但目前还不清楚他们是否可以处理不同数量的评委。谁能帮我这个?如果法官人数可变,如何计算S& F icc?我更愿意继续使用R,但如果用其他软件更好地完成,我也希望得到这些建议。

谢谢Peter Verbeet

1 个答案:

答案 0 :(得分:4)

我为此使用了分层线性建模。我提到了Seltman教授的HML notes for 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)