SAS中文论坛
标题:
缺失值替代问题
[打印本页]
作者:
shiyiming
时间:
2009-4-28 09:45
标题:
缺失值替代问题
项目 0day 1day 2day 3day 4day 5day 6day
体温 D5 F9 F24 F39 G9 G24 G39
头痛 D6 E5 E8 E11 E14 E17 E20
身痛 D7 E6 E9 E12 E15 E18 E21
鼻塞 D8 F10 F25 F40 G10 G25 G40
流涕 D9 F11 F26 F41 G11 G26 G41
喷嚏 D10 F12 F27 F42 G12 G27 G42
咳嗽 D11 F13 F28 F43 G13 G28 G42
咽检 D12 F14 F29 F44 G14 G29 G44
如上表,按如下要求替换:比方说对体温这一项,0day-6day,可能从4day就开始缺失(3day和以前是有记录的),从4day和以后天数的缺失值就用第3day的值结转(就是替换)...总觉得写一大堆的if不是办法,请教各位高手...
作者:
shiyiming
时间:
2009-4-28 13:33
标题:
Re: 缺失值替代问题
array A {*} day0-day6;
do i=5 to 7;
A{i}=coalesce(A{i}, day3);
end;
作者:
shiyiming
时间:
2009-4-28 14:13
标题:
Re: 缺失值替代问题
谢谢楼上的,可能是因为我没把问题阐述清楚,实际上除了0天,1day-6day都有可能缺失,不过肯定的是若前面一天缺失,后面的必然缺失...
作者:
shiyiming
时间:
2009-4-28 16:42
标题:
Re: 缺失值替代问题
再简单不过了~~
array A {*} day0-day6;
do i=2 to 7;
A{i}=coalesce(A{i}, A{i-1});
end;
作者:
shiyiming
时间:
2009-4-28 18:49
标题:
Re: 缺失值替代问题
<!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2