首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Conger's kappa在Stata有售吗?

Conger's kappa在Stata有售吗?
EN

Stack Overflow用户
提问于 2013-07-19 06:19:21
回答 4查看 552关注 0票数 0

Conger (1980)提出的modified version of kappa在Stata中可用吗?我试着用谷歌搜索一下也没什么用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-21 09:10:51

由于没有人使用Stata解决方案,因此我开发了一些代码来使用Gwet,K.L. (2012)中提供的公式来计算Conger's kappa。评价者间可靠性手册(第三版),盖瑟斯堡,马里兰州:高级分析,有限责任公司。请特别参阅第34-35页。

毫无疑问,我的代码并不像其他人写的那样高效,我欢迎对代码或程序格式的任何改进。

代码语言:javascript
复制
cap prog drop congerkappa
prog def congerkappa
  * This program has only been tested with Stata 11.2, 12.1, and 13.0.
  preserve
  * Number of judges
  scalar judgesnum = _N 
  * Subject IDs
  quietly ds
  local vlist `r(varlist)'
  local removeit = word("`vlist'",1)
  local targets: list vlist - removeit  
  * Sums of ratings by each judge
  egen judgesum = rowtotal(`targets')  
  * Sum of each target's ratings
  foreach i in `targets' {
    quietly summarize `i', meanonly
    scalar mean`i' = r(mean)
    }  
  * % each target rating of all target ratings  
  foreach i in `targets' {
    gen `i'2 = `i'/judgesum
    }  
  * Variance of each target's % ratings  
  foreach i in `targets' {
    quietly summarize `i'2 
    scalar s2`i'2 = r(Var)
    }  
  * Mean variance of each target's % ratings
  foreach i in `targets' {
    quietly summarize `i'2, meanonly
    scalar mean`i'2 = r(mean)
    }  
  * Square of mean of each target's % ratings  
  foreach i in `targets' {
    scalar mean`i'2sq = mean`i'2^2
    }    
  * Sum of variances of each target's % ratings
  scalar sumvar = 0
  foreach i in `targets' {
    scalar sumvar = sumvar + s2`i'2
    }    
  * Sum of means of each target's % ratings
  scalar summeans = 0
  foreach i in `targets' {
    scalar summeans = summeans + mean`i'2
    }   
  * Sum of meansquares of each target's % ratings
  scalar summeansqs = 0
  foreach i in `targets' {
    scalar summeansqs = summeansqs + mean`i'2sq
    } 
  * Conger's kappa
  scalar conkappa = summeansqs -(sumvar/judgesnum)
  di _n "Conger's kappa = "  conkappa
  restore
  end

程序所需的数据结构如下所示。变量名称不是固定的,但评委/评委变量必须位于数据集中的第一个位置。数据集不应包括除裁判/评核人和目标/评级之外的任何变量。

代码语言:javascript
复制
 Judge    S1   S2   S3   S4   S5   S6 
 Rater1    2    4    2    1    1    4 
 Rater2    2    3    2    2    2    3 
 Rater3    2    5    3    3    3    5 
 Rater4    3    3    2    3    2    3 

如果您想对一个测试数据集运行此测试,您可以使用StataCorp中的judges数据集并对其进行整形,如下所示。

代码语言:javascript
复制
use http://www.stata-press.com/data/r12/judges.dta, clear
sort judge
list, sepby(judge)
reshape wide rating, i(judge) j(target)
rename rating* S*
list, noobs

* Run congerkappa program on demo data set in memory
congerkappa

我只对Gwet (p.35)中的表2.16中的数据运行了一次此代码的验证测试,并根据Gwet在p.34上的计算结果复制了Conger's kappa = .23343。请使用已知的Conger's kappas在其他数据上测试此代码,然后再依赖它。

票数 1
EN

Stack Overflow用户

发布于 2017-11-17 05:51:41

这是一个古老的问题,但如果有人还在寻找-- SSC包kappaetc现在可以计算出这一点,以及您想要的所有其他评分者间统计数据。

票数 2
EN

Stack Overflow用户

发布于 2013-07-19 07:48:45

我不知道多个评分者的Conger's kappa在Stata中是否可用,但它在R中可以通过使用kappam.fleiss函数并指定exact选项的irr包获得。有关R中的irr包的信息,请参阅http://cran.r-project.org/web/packages/irr/irr.pdf#page.12

在R中安装并加载irr包后,您可以使用以下代码查看演示数据集和Conger计算。

代码语言:javascript
复制
data(diagnoses)
print(diagnoses)
kappam.fleiss(diagnoses, exact=TRUE)

我希望这里的其他人可以按照您的要求提供Stata解决方案,但如果您在Stata中找不到它,这至少可以提供一个解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17734947

复制
相关文章

相似问题

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