作者statexpert (statexpert)
标题Re: [程式] 使用SAS处理变项内的资料
时间Wed Aug 6 21:23:36 2014
主要语法如下。 请参考 John
data my_data2(keep=c);
set my_data;
if blank_dur>0 then do;
c=id-1;
output;
c=id;
output;
c=id+1;
output;
end;
run;
data my_data2(rename=(c=id));
set my_data2;
run;
data result;
merge my_data(in=_origin) my_data2(in=_delete);
by id;
if _origin and not _delete;
run;
※ 引述《shocken (夏肯)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:SAS
: [程式问题]:
: 处理变项内的资料
: [软体熟悉度]:
: 低(1~3个月)
: [问题叙述]:
: 我有大概资料长得如下面
: sub trial blank_dur
: 1 1 1 0
: 2 1 1 0
: 3 1 1 0
: 4 1 1 55
: 5 1 1 0
: 6 1 2 0
: 7 1 2 0
: 8 1 2 0
: 9 1 2 66
: 10 1 2 0
: .
: .
: .
: 问题是说只要当blank_dur>0,就要删掉,但是除了删掉blank_dur>0那一横列外,
: 它的上一横列和下一横列也要删掉,我知道可以用if then来删掉横列,可是不知道要怎麽样
: 删掉上一列和下一列的资料
: 资料最後变成下面这样
: sub trial blank_dur
: 1 1 1 0
: 2 1 1 0
: 6 1 2 0
: 7 1 2 0
: .
: .
: .
: 想请问该怎麽写code呢?
: -----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.235.35
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1407331419.A.751.html