proc mixed data=long; class id time; model y = time / solution ddfm=bw; repeated time / type=cs subject=id r; run;
PROC MIXED 纵向数据分析
SAS中处理纵向数据的常用过程是PROC MIXED,它可以处理不平衡数据和缺失值。基本语法如下:PROC MIXED DATA=dataset; CLASS subject time; MODEL outcome = predictors / SOLUTION; REPEATED time / SUBJECT=subject TYPE=结构; RANDOM 随机效应 / SUBJECT=subject; RUN;
重复测量数据的准备
纵向数据需要长格式,即每个观测是一个时间点的记录。使用PROC TRANSPOSE可以将宽格式转为长格式。例如:proc transpose data=wide out=long; by id; var time1-time4; run; 然后添加时间变量。
协方差结构的选择
常见协方差结构有CS(复合对称)、AR(1)(一阶自回归)、UN(无结构)。使用TYPE=选项指定,如TYPE=CS。可以通过比较AIC、BIC选择最佳结构。
处理缺失数据
PROC MIXED使用最大似然估计(MLE)自动处理缺失数据,不需要删除或插值。确保数据为长格式,SAS会根据主体ID处理不完整观测。
随机截距和随机斜率模型
添加RANDOM intercept / subject=id; 或 RANDOM intercept slope / subject=id; 来建模个体差异。测试随机斜率是否显著:RANDOM slope / subject=id test;
结果解释
固定效应P值检验组间差异,估计值和置信区间显示效应大小。协方差参数表显示变异分解,如残差方差和个体间方差。
FAQ
Q: 纵向数据必须是长格式吗?
A: 是,长格式便于PROC MIXED处理重复测量。
Q: 如何选择协方差结构?
A: 比较模型的AIC和BIC值,选择值最小的。
Q: 缺失数据怎么处理?
A: PROC MIXED自动用MLE处理,无需手动干预。
Q: 随机效应什么时候用?
A: 当个体间存在变异时,用来捕捉个体差异。