全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4435 15
2014-12-24
我想迭代求解,给出初始值后,经过每次迭代,我想要数据集的最后一行,提取之后生成新的数据集,如何在返回用到这个迭代中??希望SAS高手帮忙解决一下,不胜感激!!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-24 21:33:26
This is a interesting question
二维码

扫码加我 拉你入群

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

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

2014-12-24 23:10:42
能适当举个简单的例子吗?文字描述毕竟不足够理性。
二维码

扫码加我 拉你入群

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

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

2014-12-25 09:38:18
举个例子看看呢
二维码

扫码加我 拉你入群

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

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

2014-12-28 14:00:12
pigchenjh 发表于 2014-12-25 09:38
举个例子看看呢
data A;
input nit xit nic xic;
yi=log((xit/(nit-xit))/(xic/(nic-xic)));
si_square=1/xit+1/(nit-xit)+1/xic+1/(nic-xic);
cards;
87 64 85 48
146 90 155 99
50 44 50 33
242 150 240 143
59 43 59 38
163 133 169 128
96 42 87 35
192 105 189 113
491 432 488 423
165 121 179 134
run;

proc print data=A;
var yi si_square;
run;
data B;
set A;
xi=1/(nit+nic);
beit0=0;
do while(jj<=0.01)
wi1=1/(si_square+beit0*xi);
wi2_x=(1/(si_square+beit0*xi))*(1/(si_square+beit0*xi))*xi;
wi2_x2=(1/(si_square+beit0*xi))*(1/(si_square+beit0*xi))*xi*xi;
n1=yi/si_square;
s1+1/si_square;
s1_+wi1;
s2+wi2_x2;
m1+n1;
u=m1/s1;
wiy_u=wi2_x*((yi-u)*(yi-u)+1/s1_-si_square);
ss+wiy_u;
do i=1 to 14;
beit=ss/s2;
kk=u-u0;
jj=beit-beit0;
beit0=beit;(这一点我想取beit的最后一个观测赋给beit0,然后用新的beit0再第二次迭代)
end;
run;
proc print data=B;
run;
二维码

扫码加我 拉你入群

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

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

2014-12-28 14:00:14
pigchenjh 发表于 2014-12-25 09:38
举个例子看看呢
data A;
input nit xit nic xic;
yi=log((xit/(nit-xit))/(xic/(nic-xic)));
si_square=1/xit+1/(nit-xit)+1/xic+1/(nic-xic);
cards;
87 64 85 48
146 90 155 99
50 44 50 33
242 150 240 143
59 43 59 38
163 133 169 128
96 42 87 35
192 105 189 113
491 432 488 423
165 121 179 134
run;

proc print data=A;
var yi si_square;
run;
data B;
set A;
xi=1/(nit+nic);
beit0=0;
do while(jj<=0.01)
wi1=1/(si_square+beit0*xi);
wi2_x=(1/(si_square+beit0*xi))*(1/(si_square+beit0*xi))*xi;
wi2_x2=(1/(si_square+beit0*xi))*(1/(si_square+beit0*xi))*xi*xi;
n1=yi/si_square;
s1+1/si_square;
s1_+wi1;
s2+wi2_x2;
m1+n1;
u=m1/s1;
wiy_u=wi2_x*((yi-u)*(yi-u)+1/s1_-si_square);
ss+wiy_u;
do i=1 to 14;
beit=ss/s2;
kk=u-u0;
jj=beit-beit0;
beit0=beit;(这一点我想取beit的最后一个观测赋给beit0,然后用新的beit0再第二次迭代)
end;
run;
proc print data=B;
run;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

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