强璐 以下是我的代码和原始数据:
import pingouin as pg
import pandas as pd
import numpy as np
import os
folderPath = ‘C:\Users\ltp-0810\Desktop\Radiomics\ICC\’
data1 = pd.read_csv(os.path.join(folderPath, ‘reader1.csv’))
data2 = pd.read_csv(os.path.join(folderPath, ‘reader2.csv’))
data1.insert(0, ‘reader’, np.ones(data1.shape[0]))
data2.insert(0, ‘reader’, np.ones(data2.shape[0])*2)
data1.insert(0, ‘patient’, range(data1.shape[0]))
data2.insert(0, ‘patient’, range(data2.shape[0]))
data_inter = pd.concat([data1, data2]) ###组间
##for 循环计算每个特征的一致性
ICC_inter = [] ##组间ICC
for colName in data_inter.columns[3:]:
ICC = pg.intraclass_corr(data=data_inter, targets=‘patient’, raters=‘reader’, ratings=colName)
ICC = ICC.iloc[2, 2] ##选择 ICC3
ICC_inter.append(ICC)
min(ICC_inter_) ##结果发现ICC最小值有小于0