1.1 多元数据

医学多元统计分析中的“多元”一般是指研究的结局指标(因变量)有多个。在大多数医学研究中,对每个研究对象的观测结果往往不止一个,需要用很多个反应变量来表示。例如,血脂记录有胆固醇、甘油三酯、磷脂、非酯化脂肪酸等指标;研究儿童的生长发育通常需要测量身高、体重、胸围、肺活量等指标。这种有多个反应变量的数据称为多变量数据,也称多元数据(multivariate data)。多元数据通常可以表示成表1-1中的表格形式。

表1-1 多元数据的表格形式

将表1-1中的数据用一个nm列的矩阵来表达,就是一个多元数据矩阵。

这个矩阵可简写成

例如,表1-2是36例肝硬化患者的部分资料,包括性别、年龄组和4项临床检测指标。其中,临床检测指标包括纤维蛋白原(FIB,g/dL)、凝血酶原时间(PT,s)、凝血酶原活动度(PTA,%)、血清胆碱酯酶(CHE,U/L)。为使变量服从正态分布,对PT和CHE取了自然对数。

表1-2 36例肝硬化患者的部分资料

读入表1-2中的数据并查看变量的类型:

>cirr<-read.csv('cirrhosis.csv')
>str(cirr)
'data.frame':36obs.of6variables:
$sex:chr"male""male""female""male"...
$agegrp:chr"<40""40-59""40-59""40-59"...
$FIB:num2.83.022.452.593.522.52.493.392.353...
$lnPT:num2.532.572.572.572.662.512.622.563.032.61...
$PTA:int110103101818580891044492...
$lnCHE:num8.768.378.027.438.298.528.238.757.538.13...

R4.0.0版本以后,函数read.csv()的参数stringsAsFactors默认为FALSE,因此上面读入的两个变量sex和agegrp为字符型。下面使用函数factor()将它们转化为因子(factor)型:

>cirr$sex<-factor(cirr$sex)
>cirr$agegrp<-factor(cirr$agegrp)
>str(cirr)
'data.frame':36obs.of6variables:
$sex:Factorw/2levels"female","male":2212221222...
$agegrp:Factorw/3levels"<40","40-59",..:1222222122...
$FIB:num2.83.022.452.593.522.52.493.392.353...
$lnPT:num2.532.572.572.572.662.512.622.563.032.61...
$PTA:int110103101818580891044492...
$lnCHE:num8.768.378.027.438.298.528.238.757.538.13...