s**f 发帖数: 365 | 1 请大家帮个忙,谢谢了!
我现在想要做个图(不是家庭作业!),同时算一下simple linear regression的参数
,并test一下斜率是否为0.数据是下面的格式:
Cancer Race Gender AgeGrp Year_dx
0 White F 1 2002
0 White M 3 1998
1 White M 2 2003
0 Black M 1 1997
. . .
. . .
. . .
cancer 0是没有,1是有
agegrp 1是20-44,2是45-64,3是65+
year_dx是1998,1999,。。。,2010
请问如何用SAS很简洁做下面的图?我能想到的方法可能太繁琐了。
X轴是年份(1980-2010)
Y轴是white male的cancer的rate(数量,就是把cancer中的1都加起来)
在上面这个图中画三条曲线(3个年龄组),每个年龄组都fit一个simple regression
,并test是否斜率为0.
请高手帮忙提供一个简单的思路!太感谢了! |
d*******o 发帖数: 493 | 2 proc sgplot data=one;
reg x=Year_dx y=cancer /group=agegroup;
run; |
s**f 发帖数: 365 | 3 谢谢!
【在 d*******o 的大作中提到】 : proc sgplot data=one; : reg x=Year_dx y=cancer /group=agegroup; : run;
|
s**f 发帖数: 365 | 4 大侠!
请问如何同时显示原始的曲线和regression的线?
如何显示计算出来的斜率并test是否为零?
用您刚才的code可以显示三条直线,但是没有原始曲线和斜率的计算。
感激不尽!
【在 d*******o 的大作中提到】 : proc sgplot data=one; : reg x=Year_dx y=cancer /group=agegroup; : run;
|
d*******o 发帖数: 493 | 5 proc sgplot data=one;
reg x=Year_dx y=cancer /group=agegroup;
series x=Year_dx y=cancer /group=agegroup;
run; |
s**f 发帖数: 365 | 6 呵呵,感谢!
以后跟着您混了!
【在 d*******o 的大作中提到】 : proc sgplot data=one; : reg x=Year_dx y=cancer /group=agegroup; : series x=Year_dx y=cancer /group=agegroup; : run;
|
d*******o 发帖数: 493 | |
l**********9 发帖数: 148 | 8 高手的代码果然简练,佩服佩服...
不过我记得sgplot中的reg不能输出estimate parameter,想要检验斜率只能用肉眼了.
...如果想输出的话,还是得用proc reg吧...
proc sort data=one;
by Agegrp;
run;
proc reg data=one outest=temp;
by Agegrp;
model cancer = year_dx ;
run;
data slope(drop=_MODEL_ _TYPE_ _DEPVAR_ _RMSE_ Intercept cancer);
set temp(rename=(year_dx=slope));
run;
这样能显示斜率...但是代码好长不美观>_< |
s**f 发帖数: 365 | 9 陈老师?
我只知道赵老师。
考古一下。
【在 d*******o 的大作中提到】 : 别客气,你比陈老师好玩多了。
|
s**f 发帖数: 365 | 10 感谢。
了.
【在 l**********9 的大作中提到】 : 高手的代码果然简练,佩服佩服... : 不过我记得sgplot中的reg不能输出estimate parameter,想要检验斜率只能用肉眼了. : ...如果想输出的话,还是得用proc reg吧... : proc sort data=one; : by Agegrp; : run; : : proc reg data=one outest=temp; : by Agegrp; : model cancer = year_dx ;
|