朋友们,前天还有昨天小年快乐呀~ (文末有小福利,记得看到文末哦)
趁着小年,咱们就继续更一期,看完这一期,相信大家都能画好Table1;话不多说,简单介绍一下今天的内容:T test、方差分析、卡方检验
1. NHANES中 T test 实现
- dataset链接地址
https://wwwn.cdc.gov/nchs/data/tutorials/analysis_data.sas7bdat
- SAS代码(model语句后有中文注释)
PROC SURVEYREG data=analysis_data nomcar;
STRATA sdmvstra;
CLUSTER sdmvpsu;
CLASS riagendr;
WEIGHT wtmec4yr;
MODEL bpxsar = riagendr/solution clparm vadjust=none;
/*nomcar表示非完全随机删失,与Taylor series variance estimation(Nhanes官网推荐,可用varmethod=taylor指定)配套使用;
class语句表示在不同性别之间比较差异,与一般线性模型中一致;
有class语句时,如果想得到estimate,SE,以及95% CI的话需要在model语句中加入solution clparm;
vadjust=none表示不用自由度校正方差估计,SAS默认vadjust=df,在本程序中两个选项结果差距不大*/
run;
-
结果展示
2. NHANES中方差分析实现
- SAS代码(model语句后有中文注释)
PROC SURVEYREG data=analysis_data nomcar ;
STRATA sdmvstra;
CLUSTER sdmvpsu;
CLASS ridreth1;
WEIGHT wtmec4yr;
MODEL bpxsar = ridreth1/solution clparm vadjust=none anova;
/*MODEL语句中加入anova选项,CLASS语句中变量由性别换为种族*/
run;
-
结果展示
3. NHANES中卡方检验实现
- SAS代码(model语句后有中文注释)
proc surveyfreq data=analysis_data;
strata sdmvstra;
cluster sdmvpsu;
weight wtmec4yr;
table riagendr*ridreth1/col row
nostd nowt wchisq wllchisq chisq chisq1;
/*不同性别之间种族构成比是否有差异,按照官网推荐采用Rao-Scott Chi-Square的结果*/
run;
-
结果展示
4. NHANES数据发表文章Table 1
最后我们用已经发表NHANES文章中的Table 1把第四期和第五期的内容串起来,截图如下。
按照测得的拟除虫菊酯类杀虫剂水平分成三分位,第一行为age(连续性变量),用surveymeans得到mean及SE,然后用surveyreg进行方差分析即可得到相应的P值;第二行为sex(二分类变量),用surveyfreq得到percent及SE,然后同样用surveyfreq加上相应的chisq选项即可得到相应的P值;其他行同理~
5. 参考内容
https://wwwn.cdc.gov/nchs/nhanes/tutorials/samplecode.asp
https://pubmed.ncbi.nlm.nih.gov/31886824/
文末小福利
之前有朋友说过对于复杂抽样中weight不是很理解,我突然意识到对于初学者来说这可能确实是一个问题。回想自己的学习过程,发现冯国双老师编的一本书有提到相关的内容。
书名为医学研究中的logistic回归分析及SAS实现 ,直接相关的内容为 第十章 复杂抽样资料的logistic回归。
下面是电子书及配套程序的百度云网盘链接(仅供学习使用,强烈建议大家买正版纸质书):
应该会对大家有帮助,记得点赞哈,祝好~