大数据库批量单因素Cox回归分析的SAS宏程序

中南大学学报(医学版)
J Cent South Univ (Med Sci)
2015, 40(2)    htt  p://
194
数据库批量单因素Cox 回归分析的SAS 宏程序
杨仁东1,熊杰2,彭扬琴1,彭小宁2,曾小敏1
(1. 中南大学公共卫生学院流行病学与卫生统计学系,长沙 410078;2. 湖南师范大学医学院基础医学系,长沙 410013)
[摘要] 目的:利用SAS 宏程序实现批量单因素Cox 回归分析。方法:利用SAS9.2软件,结合实例,编写SAS 宏程序,进行批量单因素Cox 回归分析,筛选输出P 值,整合、导出到Excel 表中。结果:给出了
批量单因素Cox 回归分析、结果筛选和导出的SAS 宏程序语言。结论:该SAS 宏程序具有良好的应用性,可以减少统计分析工作量,为批量单因素Cox 回归分析提供了参考。
张武力[关键词]  生存分析;Cox 回归;SAS ;宏程序
A SAS marco program for batch processing of univariate
Cox regression analysis for great database
YANG Rendong 1, XIONG Jie 2, PENG Yangqin 1, PENG Xiaoning 2, ZENG Xiaomin 1
(1. Department of Epidemiology and Health Statistics, School of Public Health, Central South University, Changsha 410078;
2. Department of Basic Medicine, Medical College of Hunan Normal University, Changsha 410013, China)
ABSTRACT  Objective: To realize batch processing of univariate Cox regression analysis for great database by
马鸣春
SAS marco program.拉赫玛尼诺夫音画练习曲
Methods: We wrote a SAS macro program, which can fi  lter, integrate, and export P values to Excel
by SAS9.2. The program was used for screening survival correlated RNA molecules of ovarian cancer.
Results: A SAS marco program could fi  nish the batch processing of univariate Cox regression analysis,
the selection and export of the results.
Conclusion: The SAS macro program has potential applications in reducing the workload of
statistical analysis and providing a basis for batch processing of univariate Cox regression analysis KEY  WORDS
survival analysis; Cox regression; SAS; macro program
收稿日期(Date of reception):2014-07-08
DOI:10.11817/j.issn.1672-7347.2015.02./xbwk/fi
leup/PDF/201502194.pdf
大数据库批量单因素Cox回归分析的SAS宏程序杨仁东,等195
生存分析起源于医学与生物科学,是将事件的结果和出现这一结果所经历的时间结合起来分析的一类统计分析方法,也被称之为事件时间分析[1]。Cox回归模型[2]是目前进行多因素生存分析的主要方法。在生物医学RNA分析中,数据往往为高维数据[3],即变量个数远远大于样本数。传统的多因素Cox回归分析高维数据,存在过度拟合以及回归系数不稳定等问题,不适用于直接对上万个变量进行筛选[4-5]。
目前,学者[6-7]运用批量单因素Cox回归分析、错误发现率(FDR)分析[8]和惩罚Cox回归分析[9],通过拟合、评估和验证模型等步骤,从上万基因中挖掘与疾病生存相关的基因。其中,批量单因素Cox 回归分析是第一步,数据处理量很大,对软件要求很高。常用统计软件如SPSS无法实现该过程,也尚无研究提供相关的SAS程序。
SAS软件中,可以通过“proc phreg”过程进行Cox回归分析,只将一个变量名写入“model”中时,便可进行单因素Cox回归分析[10]。大数据库批量单因素Cox回归分析时,往往需要执行上万次“proc phreg”过程。若手工操作,一个一个写入变量名,则要操作上万次,工作量巨大。SAS宏[11-12]是扩展的SAS功能,可以减少重复性任务的工作量。借助SAS的宏程序,通过循环语句的运行,可以实现
批量的单因素Cox回归分析,解决生物医学研究中批量变量的初步筛选问题。本研究拟自编SAS宏程序,通过循环过程,减少统计分析的工作量,得到各个变量单因素Cox回归模型分析的P值,并将所有的P值整合、导出生成一个Excel文件。
1  资料与方法
1.1  资料来源与数据处理
对于变量个数上万的大数据研究,其原始数据往往不是以SAS形式存储,需要从外部导入到SAS中。本例以Excel数据文件为例,说明宏程序的实现,其他形式的文件,请读者自行更改程序代码。
SAS的分析结果默认存储于临时数据集中,数量超过10 000时,临时数据集WORK.DATA10000超过8个字符,不符合SAS命名规则,在结果合并时无法到临时数据集WORK.DATA10000,并且常用的“proc import”过程在导入Excel文件时每个数据集列数的上限为255列。故而,对于变量个数超过10 000的数据,需要将原始Excel数据文件进行拆分,对每个Excel数据文件各进行一次分析。
为了程序的实现,本研究运用来源于美国The Cancer Genome A tlas[13]的研究卵巢癌患者预后与9 840个m R N A表达量之间关系的数据进行实例操作。首先将9 840个m R N A表达量的数据拆分后的40个E x c e l数据文件采用系列命名法,即COXmRNA1,COXmRNA2,COXmRNA3……
C OX m R N A39,C OX m R N A40,每个数据文件560行(559位患者),249列,包括patient,time,vstatus和246个mRNA变量。其中,patient,time,v s t a t u s在每个数据文件中均完全相同,p a t i e n t 表示患者编号,t i m e表示生存时间(以天计),vstatus表示生存结局(0表示截尾,1表示死亡),每个文件中的246个mRNA均采用系列命名法(如COX m R N A2文件中246个m R N A为m R N A247,mRNA248,mRNA249……mRNA491,mRNA492) (表1)。本次研究共计批量处理9 840(40×246)个mRNA。变量mRNA重命名方法,可以使用Excel操作技巧直接在Excel表中重命名,也可以采用SAS 中的“rename”等程序。重命名之后,为了便于后续的结果查询,列出原始变量与系列变量名的对应表(表2)。本文中SAS宏程序基于SAS9.2版本编写;为了表达方便,本文中所有小数均取四位小数。
表1  560例卵巢癌患者生存资料及部分mRNA表达量
肾病论坛
Table 1  Survival information and mRNA expression of 560 patients with ovarian cancer
Patients time vstatus mRNA247mRNA248mRNA249…mRNA492 11 3361  6.59498.6347  5.0974…  3.3619 21 2471  6.73848.8908  5.7032…  3.0983 3551  4.98618.0464  4.6806…  3.6570 41 49507.09517.2364  4.4864…  3.4279 5611  6.46669.6653  6.3419…  3.2871……………………
中南大学学报(医学版), 2015, 40(2)   
196表2  mRNA 原始变量名与系列变量名对应表
Table 2  Corresponding form of original and series variable names 原始变量名系列变量名AACS mRNA247FSTL1mRNA248ELMO2mRNA249
…PDZD3
mRNA492
表3  mRNA1-mRNA9 840单因素Cox 模型分析P 值整合表
Table 3  Summary table of P  values of univariate Cox regression of mRNA1 to mRNA9 840Parameters DF Estimate StdErr ChiSq ProbChiSq HazardRatio Label mRNA11−0.11250.0965  1.35970.24360.8936mRNA1mRNA210.11850.0562  4.44800.0349  1.1258mRNA2mRNA310.12730.1184  1.15570.2823  1.0248mRNA3…
…………………
1.2  SAS 宏程序
沃府视讯
1.2.1  建立数据库,导入数据
%let m=40;/*创建宏变量m ,即Excel 数据文件数*/
%let n=246;/*创建宏变量n ,即每个Excel 数据文件的mRNA 数*/
%let k=%eval(&m*&n);
%put &k;/*创建宏变量k ,即输出结果总数*/libname COXRNA 'D:\COX\'; /*在已有的文件夹COX 中创建逻辑库*/
ods listing close;ods results off;
PROC PRINTTO PRINT='D:\COX\auto.lst' LOG='D:\COX\auto.log' NEW;
run;/*防止出现窗口已满的提示,将日志和结果导出*/
%macro mRNA;/*创建宏程序mRNA*/
%do a=1 %to &m;/*循环读取m 个Excel 数据文件*/
%let x=%eval(1+(&a-1)*&n);
%put &x;/*创建宏变量x ,即每个Excel 中的第一个mRNA*/
%let y=%eval(&a*&n);
%put &y;/*创建宏变量y ,即每个Excel 中的最后一个mRNA*/
%do b=&x %to &y;1.2.2  自动读取数据文件
proc import datafile= "D:\COX\COXmRNA&lsx"
dbms=Excel out=COXRNA.COXm&a;sheet='sheet1';getnames=yes;run;
1.2.3  单因素Cox 回归分析
data mRNA&a;
set COXRNA.COXm&a;
label time='Survival Time' vital_status='0=A live 1=Dead';
run;
ods output ParameterEstimates; /*选择输出phreg 中的结果ParameterEstimates*/
proc phreg data=mRNA &a; model time * vital_status(0)=mRNA&b;
run; /*进行单因素Cox 回归分析*/%end;%end;%mend;
%mRNA;/*宏程序结束*/
PROC PRINTTO PRINT=PRINT LOG=LOG;run;
1.2.4 导出输出结果
data reRNA;
set WORK.DATA1-WORK.DATA&k;length Parameter $20;run;
PROC export RNA outfile="D:\COX\resultRNA.xlsx"DBMS=Excel REPLACE;
S H E E T ="r e s u l t R N A";/*结果导出到名为resultRNA 的Excel 文件中*/
run;
2  结  果
执行以上的S AS 宏程序后,得到各个变量mRNA 的P 值,并将其整合、导出到Excel 表中,结果见表3。
大数据库批量单因素Cox回归分析的SAS宏程序杨仁东,等197
3  讨论
本文中的S AS宏程序采用系列变量名实现循环,所选用的统计方法为单因素Cox回归模型分析,所执行的过程有:自动从40个Excel文件中导入数据,并创建数据集到逻辑库中,进行批量单因素Cox回归模型分析,筛选输出结果,整合输出结果,导出结果到Excel文件工作表中。对宏程序调用更改时,要保证调用的Excel文件处于未打开状态;已经建立好结果输出文件“resultR NA.xlsx”;从WOR K.DATA1开始存储结果,即SAS是新打开的。通过更改m和n 值,可以分析m个、每个Excel文件所含变量为n的共计k(k=m×n)个变量。对于大批量数据的其他统计方法(如logistic回归)的分析,可通过更改本宏程序的“proc”“model”“ods output”等过程实现。
本宏程序的优点在于能够自动读取Excel文件中的数据,自动读取变量,实现全自动的批量单因素Cox回归分析。局限性在于数据文件需要系列命名,每个数据文件的数据格式要相同,参与分析的变量需要系列命名,对于变量超过10 000个的数据,需要多次执行本宏程序。
参考文献
[1] 孙振球. 医学统计学[M]. 3版. 北京: 人民卫生出版社. 2013:
299-318.
SUN Zhenqiu. Medical statistics[M]. 3rd ed. Beijing: People’s
Medical Publishing House, 2013: 299-318.
[2] Cox DR. Regression models and life tables[J]. JR stat soc B, 1972,
34(2): 187-220.
[3] 邓启龙. 高维部分线性COX模型的变量选择[D]. 北京: 中国科
学技术大学, 2012.
DENG Qilong. Variable selection for high-dimensional partially
linear COX models[D]. Beijing: Uinversity of Science and2012年重庆高考作文
Technology of China, 2012.
[4] Harrell F, Lee KL, Mark DB. Tutorial in biostatistics multivariable
prognostic models:issues in developing models, evaluating
assumptions and adequacy and measuring and reducing errors[J].
Stat Med, 1996, 15(4): 361-387.
[5] Yuan M, Lin Y. Model selection and estimation in regression with
grouped variables[J]. JR Stat Soc Series B Stat Methodol, 2006,
68(1): 49-67.
[6] Bøvelstad HM, Nygard S, Størvold HL, et al. Predicting survival
from microarray data-a comparative study[J]. Bioinformatics, 2007,
23(16): 2080-2087.
[7] Xiong J, Bing Z, Su Y, et al. An integrated mRNA and microRNA
expression signature for glioblastoma multiforme prognosis:
e98419[J]. PLoS One, 2014, 9(5): e98419.
[8] Benjamini Y, Hochberg Y. Controlling the false discovery rate: a
practical and powerful approach to multiple testing[J]. J R Statist
SOC B, 1995, 57(1): 289-300.
[9] 闫丽娜. 惩罚COX模型和弹性网技术在高维数据生存分析中
的应用[D]. 太原: 山西医科大学, 2011.
YAN Lina. The application of punishment cox model and elastic
net technology in survival analysis of high-dimensional data[D].
Taiyuan: Shandong University School of Medicine, 2011.
[10] 张瑛. SAS软件实用教程[M]. 北京: 科学出版社, 2008: 113-114.
ZHANG Ying. SAS software practical guide[M]. Beijing: Science
Press, 2008: 113-114.
[11] 胡良平. SAS实验设计与统计分析[M]. 北京: 人民卫生出版社,
2010: 327-346.
HU Liangping. SAS experimental design and statistical analysis[M].
Beijing: People’s Medical Publishing House, 2010: 327-346. [12] 杨池然. SA S9.2从入门到精通[M]. 北京: 电子工业出版社,
2011: 243-271.
YANG Chiran. SA S9.2 from entry to the master[M]. Beijing:
Publishing House of Electronics Industry, 2011: 243-271.
[13] The Cancer Genome Atlas Research Network. Integrated genomic
analyses of ovarian carcinoma[J]. Nature, 2011, 474(7353): 609-
615.
(本文编辑彭敏宁)
本文引用:杨仁东, 熊杰, 彭扬琴, 彭小宁, 曾小敏. 大数据库批量单因素Cox回归分析的SAS宏程序[J]. 中南大学学报: 医学版, 2015, 40(2): 194-197. DOI:10.11817/j.issn.1672-7347.2015.02.013 Cite this article as:YANG Rendong, XIONG Jie, PENG Yangqin, PENG Xiaoning, ZENG Xiaomin. A SA S marco program for batch processing of univariate Cox regression analysis for great database[J]. Journal of Central South University. Medical Science, 2015, 40(2): 194-197.

本文发布于:2024-09-22 07:35:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/146779.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分析   回归   因素   结果   数据   宏程序   变量   批量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议