将3个sheet进行重命名:clin, T1, ACBR
T1$has_clinical<-在T1中反查是否有clin中的NACCID,是1否0
=IF(COUNTIF(TBI_clinical_data!$A$2:$A$1428,A2)>0,1,0)
T1中819行均为1
T1$MRI_name_2<-将MRI_name中的.zip去掉
=LEFT(C2,LEN(C2)-4)
如此与ACBR*中名称保持一致便于检索
ACBR*$has_T1<-在ACBR*中反查是否有T1中的MRI_name_2,是1否0
=COUNTIF('T1'!$D$2:$D$820,ACBRratio!B2)
ACBR*中764行均为1
ACBR*NACCID<-在ACBR*中反查T1中的NACCID
=VLOOKUP(B2,IF({1,0},'T1'!$D$2:$D$820,'T1'!$A$2:$A$820),2,0)
# 使用{1,0}构建了虚拟数组,调换索引列与查询列,语法如下:
# =VLOOKUP(你找谁,IF({1,0},在哪列找,找的结果在哪列),2,0)
clin$has_ACBR<-在clin中反查是否有ACBR*数据,是1否0
=IF(COUNTIF(ACBRratio!$D$2:$D$765,clin!A2)>0,1,0)
clin中1427行,其中1342行为1,其余为0
# 输出唯一的患者个案列表 (横断面研究)
ACBR*$NACCID->ACBRunique$NACCID,仅粘贴数值
ACBRunique$NACCID.unique<-ACBRunique$NACCID,删除重复值
764->551
删除ACBR*$NACCID
# 反查得到唯一患者列表中的性别、(MRI检查时的)年龄、教育程度
ACBRunique$sex<-在ACBRunique中反查clin中的sex
=VLOOKUP(A2,clin!$A$2:$R$1428,18,FALSE)
ACBRunique$BIRTHMO<-在ACBRunique中反查clin中的BIRTHMO
=VLOOKUP(A2,clin!$A$2:$R$1428,16,FALSE)
ACBRunique$BIRTHYR<-在ACBRunique中反查clin中的BIRTHYR
=VLOOKUP(A2,clin!$A$2:$R$1428,17,FALSE)
ACBRunique$MRIYR<-在ACBRunique中反查T1中的MRIYR
=VLOOKUP(A2,'T1'!$A$2:$I$820,9,FALSE)
ACBRunique$MRIMO<-在ACBRunique中反查T1中的MRIMO
=VLOOKUP(A2,'T1'!$A$2:$I$820,7,FALSE)
ACBRunique$MRIDY<-在ACBRunique中反查T1中的MRIDY
=VLOOKUP(A2,'T1'!$A$2:$I$820,8,FALSE)
ACBRunique$EDUC<-在ACBRunique中反查clin中的EDUC
=VLOOKUP(A2,clin!$A$2:$AD$1428,30,FALSE)
# 注意到1名患者可以行多次MR,每次行MR时的年龄是不同的,使用新列表
ACBR*$NACCID->ACBRdata$NACCID,仅粘贴数值
复制ACBRunique中的字段到ACBRdata中,并继承其函数
ACBRdata$age<-ACBR$MRIYR-ACBR$BIRTHYR
09-25