首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当法官的人数不是恒定的时候

当法官的人数不是恒定的时候
EN

Stack Overflow用户
提问于 2010-07-08 23:21:31
回答 1查看 464关注 0票数 1

我有以下问题。我需要计算Shrout & Fleiss ICC,用于由不同数量的法官对项目进行评判的情况。例如,一个行业的竞争性质是根据一组行业来判断的,但每个行业的评判人数不同。一个行业只能由2名法官进行评判,而另一个行业的竞争性质最多可以由12名法官进行评判。我已经使用ICC (package judges )和icc (package irr)函数来确定icc,但尚不清楚它们是否可以处理不同数量的法官。有人能帮我吗?当法官人数可变时,如何计算S&F icc?我更喜欢继续使用R来完成这项工作,但如果使用其他R软件能更好地实现这一点,我也希望得到这些建议。

谢谢,Peter Verbeet

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-11 05:55:48

为此,我使用了分层线性建模。我参考了一位Seltman教授的HML notes for R来了解如何做到这一点。诀窍是获得具有可变法官数量的ICC的方差项。

代码语言:javascript
运行
复制
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)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3205176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档