【发布时间】:2015-08-31 14:26:45
【问题描述】:
我有一个数据框,其中包含来自两个评估者的数据来测试 4 种不同测试的可靠性:
test1_rater1<-c(1,4,3,2,3,4,1,2,2,3)
test2_rater1<-c(1,3,3,3,2,3,1,1,2,1)
test3_rater1<-c(1,4,3,4,4,2,3,1,3,4)
test4_rater1<-c(1,3,4,2,3,2,1,2,3,2)
test1_rater2<-c(1,3,3,4,3,4,3,2,1,3)
test2_rater2<-c(1,3,1,3,1,3,3,1,1,1)
test3_rater2<-c(1,3,3,2,4,2,3,4,3,4)
test4_rater2<-c(2,3,4,4,3,2,3,2,3,2)
mydata<-data.frame(test1_rater1,test2_rater1,test3_rater1,test4_rater1,test1_rater2,test2_rater2,test3_rater2,test4_rater2)
# For the kappa statistic, I used:
cohen.kappa(cbind(test1_rater1,test1_rater2))
cohen.kappa(cbind(test2_rater1,test2_rater2))
cohen.kappa(cbind(test3_rater1,test3_rater2))
cohen.kappa(cbind(test4_rater1,test4_rater2))
在我的数据框中是来自 80 多个不同测试的数据,这个解决方案非常复杂......我想了一个列表,然后使用 lapply 函数,但我没有工作。有没有更短的方法来做到这一点?
谢谢,纳特
【问题讨论】:
-
这是什么语言?
-
为什么 lapply 不起作用?请显示您的代码和预期的输出。
-
也许是一个起点here
-
您可以
split列名,然后使用lapply即lapply(split(names(mydata), sub('_.*', '', names(mydata))), function(x) cohen.kappa(mydata[x]) )
标签: r