还不会组内相关系数(ICC)?来看这篇SPSS详细教程!

本文介绍了如何运用组内相关系数(ICC)来评估诊断试验的可重复性,特别是在两位研究者对25位受试者血糖水平测量的情况下。通过SPSS软件进行数据分析,展示了一种不依赖于二分类转换的方法,从而保留了连续变量的全部信息,以更准确地评估诊断试验的一致性。
摘要由CSDN通过智能技术生成

组内相关系数(intraclass correlation efficient, ICC)常用于评价具有确定亲属关系(如双胞胎、兄弟姐妹等)的个体间某种定量属性的相似程度,也应用于评价不同测定方法或评定者对同一定量测量结果的可重复性或一致性。在诊断试验中,我们也常常使用ICC指标评价不同研究者对同一组试验结果进行诊断的可重复性。

 

 

一、问题与数据

 

现假设有2位研究者使用相同的诊断试验分别测量25位受试者的血糖水平。部分原始数据见表1。

 

表1 部分原始数据1.png

 

当然,为了评价该诊断试验的可重复性,我们可以设置一个诊断截点,人为地将血糖水平转换成二分类变量,再运用之前讲过的Kappa分析进行判断。但是,将连续变量转换成二分类变量会丢失信息。那我们应该如何做呢?

 

接下来,我们将向大家介绍诊断试验组内相关系数的分析方法,以SPSS统计软件为例。

 

二、SPSS分析方法

 

1. 数据录入SPSS

 

2.png

 

2. 选择Analyze→ Scale→ Reliability Analysis

 

剩余文章内容<<<<

 

组内相关系数ICC是衡量和评价观察者间信度和复测信度的信度系数指标之一。在Python中,有多种方法可以实现ICC的计算,包括使用rpy2包、pingouin库和psych包等。其中,rpy2包可以从Python中使用R语言的函数,pingouin库提供了6种不同的ICC计算方法,而psych包则可以计算多种类型的ICC变体。以下是使用这三种方法计算ICC的示例代码: 使用rpy2包: ```python from rpy2.robjects import DataFrame, FloatVector, IntVector from rpy2.robjects.packages import importr from math import isclose # 安装并导入psych包和lme4包 psych = importr("psych") lme4 = importr("lme4") # 准备数据 values = [[9, 2, 5, 8], [6, 1, 3, 2], [8, 4, 6, 8], [7, 1, 2, 6], [10, 5, 6, 9], [6, 2, 4, 7]] df = DataFrame({'values': FloatVector([item for sublist in values for item in sublist]), 'rater': IntVector([i+1 for i in range(len(values))]*4), 'target': IntVector([j+1 for j in range(4)]*len(values))}) # 计算ICC icc = psych.ICC(df, "twoway", "agreement", 2) print("ICC值为:", icc[0][0]) ``` 使用pingouin库: ```python import pingouin as pg # 准备数据 data = pg.read_dataset('icc') # 计算ICC icc = pg.intraclass_corr(data=data, targets='Wine', raters='Judge', ratings='Scores', nan_policy='omit') print("ICC值为:", icc['ICC'][0]) ``` 使用psych包: ```python import rpy2 from rpy2.robjects import IntVector, pandas2ri from rpy2.robjects.packages import importr # 安装并导入psych包 psych = importr("psych") # 准备数据 values = rpy2.robjects.r.matrix(IntVector([9, 2, 5, 8, 6, 1, 3, 2, 8, 4, 6, 8, 7, 1, 2, 6, 10, 5, 6, 9, 6, 2, 4, 7]), ncol=4, byrow=True) # 计算ICC icc = psych.ICC(values) # 转换为Pandas DataFrame icc_df = pandas2ri.rpy2py(icc[0]) print("ICC值为:", icc_df['value'][0]) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值