楼主: Wo_si_鍕
2850 5

观测如何向上移动一位 [推广有奖]

  • 0关注
  • 1粉丝

大专生

53%

还不是VIP/贵宾

-

威望
0
论坛币
789 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
741 点
帖子
33
精华
0
在线时间
36 小时
注册时间
2014-11-3
最后登录
2018-9-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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

扫码加我 拉你入群

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

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

关键词:求帮助 function youku replace tudou iframe

沙发
Wo_si_鍕 发表于 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   .
怎么同一组中的某个观测值向上移一位

使用道具

藤椅
yingzi2003 发表于 2016-3-17 02:15:26 |只看作者 |坛友微信交流群
你这个只要把同一组的第一条记录设成 missing 就可以了

使用道具

板凳
67890 发表于 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.

使用道具

报纸
teqel 发表于 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;

使用道具

添加_n_,然后逆向排序,对要上移的数据使用LAG函数,最后在两列数据合并就好了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 14:33