全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3387 6
2010-04-02
工作中遇到一个难题,跪求各位高手大侠的帮助,将不胜感激!数据如下;
             x1                    x2
00
00
00.194524181
00.193628445
00.324881475
00.62184472
00.620721755
00.951667341
00.950444341
01.125868305
00.947999226
0.4636299470.94677711
0.6621465891.122072013
1.3372293671.887472204
1.3349610483.191768201
1.332693454.152501155
1.8332663535.722478385
1.8308420118.047885729
3.23499386312.75743694
4.82881046616.64131955
6.23033860419.63580102
8.54071988422.39520766
10.6553850525.34358262
12.9467210927.95276074
15.4210595530.14475545
16.4612919530.70560581
17.5326275432.43165634
19.2016408934.82412985
19.7712967135.43639784
20.3492122837.32067156
22.1428949438.61075375
21.5302168939.92961874
22.1335101436.6747002
22.7454716337.95048576
22.7407338839.25470498
23.9958395441.26761358
23.9910098340.58462724
23.9861803141.26070298
23.3470773541.25724776
24.6198458540.57433489
23.9716928341.93735249
23.3327292941.24688242
23.9620354241.93039321

步骤是先对x1和x2做相关,得到R值(相关系数);然后将X2向下错一位得到新的一列n1,再做x1和n1相关,得到R1;比较R和R1,如果R1>R则将n1再错位和x1做相关,如果R1<=R则停止,最后并输出错位次数。
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-2 19:14:46
复制代码
在数据集R可以找到x1和X2,n1,n2的相关系数
二维码

扫码加我 拉你入群

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

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

2010-4-2 20:03:54
这位高人真是大好人,太感谢了!再次谢谢您!
二维码

扫码加我 拉你入群

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

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

2010-4-2 20:21:07
data crackman;
input x1 x2@;
%num(&num.-1);
cards;
0 0
0 0
0 0.194524181
0 0.193628445
0 0.324881475
0 0.62184472
0 0.620721755
0 0.951667341
0 0.950444341
0 1.125868305
0 0.947999226
0.463629947 0.94677711
0.662146589 1.122072013
1.337229367 1.887472204
1.334961048 3.191768201
1.33269345 4.152501155
1.833266353 5.722478385
1.830842011 8.047885729
3.234993863 12.75743694
4.828810466 16.64131955
6.230338604 19.63580102
8.540719884 22.39520766
10.65538505 25.34358262
12.94672109 27.95276074
15.42105955 30.14475545
16.46129195 30.70560581
17.53262754 32.43165634
19.20164089 34.82412985
19.77129671 35.43639784
20.34921228 37.32067156
22.14289494 38.61075375
21.53021689 39.92961874
22.13351014 36.6747002
22.74547163 37.95048576
22.74073388 39.25470498
23.99583954 41.26761358
23.99100983 40.58462724
23.98618031 41.26070298
23.34707735 41.25724776
24.61984585 40.57433489
23.97169283 41.93735249
23.33272929 41.24688242
23.96203542 41.93039321
;
run;
proc sql;
select count(*) as num into:num from crackman;
quit;
proc corr data=crackman out=a(keep=x1 where=(x1<=1));
var _all_;
run;
proc sql ;
select x1 into:nu from a where _name_='x2';
quit;
data b;
set a;
n=&nu;
m=n-x1;
if m<0 then group+0 ;
else group+1;
obs=_n_-2;
where group=1;
run;
proc print data=b;
run;
%macro num(num);
%do i=1 %to &num.;
%let j=%eval(&i.+2);
x&j.=lag&i.(x2);
%end;
output;
%mend num;
二维码

扫码加我 拉你入群

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

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

2010-4-2 20:22:11
结果里面的X1为R值
OBS为错位次数
是5
二维码

扫码加我 拉你入群

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

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

2010-4-3 01:13:11
5# crackman

方法虽然不尽相同但总是大同小异.
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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