全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3024 3
2011-11-30
有个关于SAS循环的问题求大家帮忙。我很少用SAS,主要用R。但是下面的分析用R我没有搞定。



我需要修改下面的SAS程序。目前的程序,我每次只能运行一个plots,通过设置“if plots=6;”。如果我运行一个plots,结果如下:
Parameter   Estimate      Standard Error     DF   t Value   Pr > |t|    Alpha      Lower      Upper   Gradient
a           -35.7527    52.2230      6     -0.68     0.5191     0.05    -163.54    92.0324   -0.00002
b            0.01587    0.02638      6      0.60     0.5694     0.05   -0.04868    0.08042   -0.03539
alpha         0.3721     0.2290      6      1.63     0.1553     0.05    -0.1882     0.9325    -8.6E-6


我想修改一下这个程序,可以同时运行很多个plots,如10个plots (1,2,3,4,5,6,7,8,9,10) <我的实际数据有上千个plots>. 最后得到一个总结性的结果表,如下(添加了一列“plots”):

Parameter

Estimate

Standard
Error

DF

t Value

Pr>|t|

Alpha

Lower

Upper

Gradient

plots

a

-35.7527

52.223

6

-0.68

0.5191

0.05

-163.54

92.0324

-0.00002

1

b

0.01587

0.02638

6

0.6

0.5694

0.05

-0.04868

0.08042

-0.03539

1

alpha

0.3721

0.229

6

1.63

0.1553

0.05

-0.1882

0.9325

-8.60E-06

1

a

-35.7527

52.223

6

-0.68

0.5191

0.05

-163.54

92.0324

-0.00002

2

b

0.01587

0.02638

6

0.6

0.5694

0.05

-0.04868

0.08042

-0.03539

2

alpha

0.3721

0.229

6

1.63

0.1553

0.05

-0.1882

0.9325

-8.60E-06

2

a

-35.7527

52.223

6

-0.68

0.5191

0.05

-163.54

92.0324

-0.00002

3

b

0.01587

0.02638

6

0.6

0.5694

0.05

-0.04868

0.08042

-0.03539

3

alpha

0.3721

0.229

6

1.63

0.1553

0.05

-0.1882

0.9325

-8.60E-06

3

a

-35.7527

52.223

6

-0.68

0.5191

0.05

-163.54

92.0324

-0.00002

4

b

0.01587

0.02638

6

0.6

0.5694

0.05

-0.04868

0.08042

-0.03539

4

alpha

0.3721

0.229

6

1.63

0.1553

0.05

-0.1882

0.9325

-8.60E-06

4




下面是我的SAS程序:
********
proc import out=trees datafile='C:\GNMM_AW\p.gnmmData.dbh91n.ASRD.STD.xls'
        dbms=xls replace;
        run;

data trees;
    set trees;
    if plots=6;
    *proc print data=trees;
run;



******** FIT GENERALIZED NONLINEAR MIXED MODEL************* ;

proc nlmixed data=trees;                         parms a=0.1 b=-0.002;                                                         
        eta = a + b*year;                                 
        p_ann_mort = exp(eta)/(1+exp(eta));                        
        p_ann_surv = 1-p_ann_mort;                                                
        p_surv = p_ann_surv**yr_interval;                                 
        p_mort = 1-p_surv;
        mean_mort = live_off*p_mort;
        ll=lgamma(1/alpha + n_dead) - lgamma(1 + n_dead) - lgamma(1/alpha)
                + n_dead*log(alpha*mean_mort)
                - (1/alpha + n_dead)*log(1 + alpha*mean_mort);        * log likelihood function for negative binomial regression ;
        model n_dead ~ general(ll);
        predict live_off*p_mort out=predobs1;
run;




不知道哪位高手是否有时间帮我修改一下这段程序。

多谢了~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-1 00:29:10
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-1 01:47:33
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群