作者YcSJM (挖喜SJM)
站内Statistics
标题Re: [问题] SAS资料处理问题
时间Sun Apr 5 17:09:36 2009
※ 引述《YcSJM (挖喜SJM)》之铭言:
: 想请教一个SAS资料处理的问题
: 如果现在资料是这样
: a b c
: ----------
: 2 3 0
: 5 2 .
: 3 9 .
: 8 2 .
: c 从第二个开始想要是 a的第2个 + b的第2个 + c的第1个
: c 的第三个类推下去是 a的第3个 + b的第3个 + c的第2个
: 这样程式改怎麽写
: 推 kenshin528:我觉得用IML或EXCEL做比较简单 04/01 15:45
: 推 wlsherica:excel+1 04/01 17:12
: 推 tew:retain c 0; if _n_>=2 then c=a+b+c; 结束 04/01 17:31
: 推 tew:如果资料笔数是100000笔 SAS还是比较简单一点 XD 04/01 18:32
: 推 wlsherica:请问_n_是甚麽呢??????? 04/01 21:50
感谢版主及版友的回答
因为资料有上千笔 而同样的动作要重复好几百次
上面的问题只是将问题简单化而已
所以不考虑用excel做
试了版主的方法试了好几次都没办法成功
後来改用iml处理
将处理的方法提供给以後有需要的版友参考看看
只是iml不是很熟
也许会有些多余或者没效率
data test;
input a b;
cards;
2 3
5 2
3 9
8 2
;
proc iml ;
use test;
read all var {a} into a; read all var {b} into b;
n=nrow(a);
c=j(n,1,0);
do j=2 to n;
c[j,1]=a[j,1]+b[j,1]+c[j-1,1];
end;
create test1 var{a b c};
append;
quit;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.233.52
1F:推 kenshin528:我觉得降是OK的 IML还满直觉的 04/05 22:43