1本文是利用PROC MIXed程序来实现多个研究之间生存率的合并分析。主要数据操作过程如下:
1、第一步、资料的录入,原始获得的数据见图1(见附件)所示,
我通过自学,将上述资料录入到SAS中。代码如下:
data survival; /* 注:输入Rfmr(f=1-4;m=1-3;r=1,2)(两因素+重复)*/
/*顺序行标f→列标m→重复r*/
do i=1 to 10;/*注:定义试验编号,共10个试验*/
do j=1 to 2 by 1; /*注:定义治疗组,1代表对照组(即control组),2代表实验组(即exp组)步长为1时by 语句可省略*/
dok=1 to 7; /*注:定义时间点,步长为1时by 语句可省略*/
inputsr se @@; /* 注: @@可以使数据连续输入*/
output;
end;
end;
end;
cards;
0.74 0.04 0.580.05 0.52 0.05 0.50 0.05 0.47 0.05 . . 0.43 0.05 0.80 0.04 0.74 0.04 0.66 0.050.62 0.05 0.52 0.05 . . 0.48 0.05
. . 0.5 0.05 .. 0.25 0.04 . . . . 0.16 0.04 . . 0.67 0.05 0.45 0.05 . . . . 0.37 0.05
0.77 0.04 . .0.52 0.05 . . 0.29 0.05 . . . . 0.80 0.04 . . 0.53 0.05 . . 0.40 0.05 . . . .
. . 0.51 0.05. . . . . . . . 0.09 0.03 . . 0.68 0.05 . . . . . . . . 0.31 0.05
. . 0.63 0.05. . 0.45 0.05 . . . . . . . . . . . . .. . . . . . .
. . 0.57 0.05. . . . . . . . 0.23 0.04 . . 0.78 0.04 . . 0.52 0.05 . . . . 0.42 0.05
. . . . . . .. . . . . . . 0.88 0.04 0.58 0.05 0.43 0.05 0.28 0.05 0.19 0.04 . . . .
. . 0.69 0.05. . . . . . . . 0.23 0.04 . . 0.78 0.04 . . . . . . . . 0.47 0.05
. . 0.68 0.05. . . . . . . . . . . . . . . . . . . . . . 0.42 0.05
. . . . . . .. . . 0.19 0.04 . . . . . . . . . . . . 0.47 0.05 . .
; /*可以看到输入数据时与表格形式一致*/
run;
proc print; /*在结果窗口输出*/
run;
第二步是作图,作图要求如下
1、首先按实验组和对照组分开画图,实验组为图片1,对照组为图片2;
2、然后所有实验组中,同一个试验中不同时点的生存率以时间点为横坐标,生存率为纵坐标,作图。
这步的代码我不懂,请帮忙编程。
第三步:利用上述资料进行meta分析。这个分析我已经通过作者获得SAS程序,可是我看不懂代码,请帮忙看一下代码,并帮忙解释代码的意义。SAS见附件survival_macro.sas。
第四步:由于我没有使用survival_macro.sas进行运算,所以我不知道论文中的Finger2和finger3是不是由survival_macro.sas获得的,如果不是,那么这个图要通过什么代码实现。
另外一组数据录入如下:
data survival; /* 注:输入Rfmr(f=1-4;m=1-3;r=1,2)(两因素+重复)*/
/*顺序行标f→列标m→重复r*/
do i=1 to 14;/*注:定义试验编号*/
do j=1 to 2 by 1; /*注:定义治疗组,步长为1时by 语句可省略*/
dok=1 to 5; /*注:定义时间点,步长为1时by 语句可省略*/
inputsr se @@; /* 注: @@可以使数据连续输入*/
output;
end;
end;
end;
cards;
49 12 46 1242 12 40 12 40 12 54 8 25 823 7 23 7 23 7
55 10 50 1036 9 . . . . 40 8 23 7 23 7 23 7 . .
54 10 47 1340 13 40 13 . . 54 9 42 828 8 28 8 . .
70 23 70 2370 23 70 23 . . 48 17 48 17 17 13 . . . .
54 4 46 5 426 . . . . 40 5 21 4 16 4 16 4 . .
54 2 43 3 40 3 39 3 . . 50 4 32 4 24 4 18 4 . .
59 8 49 9 479 47 9 47 9 . . . . .. . . . .
61 8 53 8 538 53 8 53 8 . . . . .. . . . .
. . . . . .. . . . 60 9 48 932 9 32 9 32 9
. . . . . .. . . . 44 5 26 4 17 5 16 4 . .
. . . . . .. . . . 50 3 33 326 3 22 3 19 3
. . . . . .. . . . 62 3 38 329 3 24 3 22 3
. . . . . .. . . . 50 10 24 8 16 7 12 6 . .
. . . . . .. . . . 76 7 53 853 8 50 8 50 8
; /*可以看到输入数据时与表格形式一致*/
run;
proc print; /*在结果窗口输出*/
run;