全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3229 5
2016-03-16

各位大神,求帮助:例如:
id    a
1    1
2    2
3    3
变成
id   a
1    2
2    3
3    .
二维码

扫码加我 拉你入群

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

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

全部回复
2016-3-16 18:32:35
例子有点不对,应该是这样的:
uid a
1   1
1   2
1   3
2   1
2   2
2   3
2   4
怎么变成
uid a
1   2
1   3
1   .
2   2
2   3
2   4
2   .
怎么同一组中的某个观测值向上移一位
二维码

扫码加我 拉你入群

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

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

2016-3-17 02:15:26
你这个只要把同一组的第一条记录设成 missing 就可以了

二维码

扫码加我 拉你入群

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

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

2016-3-17 02:41:29
1. proc sort data=original; by uid; run;
2. data lead (rename=(a-b)); set orginal (firstobs=2); run;
3. data merge; set original; set lead (drop=uid); run;
4. data wanted; set merge (drop=a); by uid; if last.uid then b=.; run;

Just my first thought, have not tested it.
二维码

扫码加我 拉你入群

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

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

2016-3-17 03:54:45
1.  proc sort data=original; by uid; run;
2.
data lead;
set orginal;
by uid;
if first.uid then delete;
output;
if last.uid then do;
a=.
output;
end;
run;
二维码

扫码加我 拉你入群

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

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

2019-10-21 22:28:59
添加_n_,然后逆向排序,对要上移的数据使用LAG函数,最后在两列数据合并就好了。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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