楼主: Wo_si_鍕
3280 5

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

  • 0关注
  • 1粉丝

大专生

53%

还不是VIP/贵宾

-

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

楼主
Wo_si_鍕 发表于 2016-3-16 17:58:51 |AI写论文

+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;

地板
打了农药的椰子 发表于 2019-10-21 22:28:59
添加_n_,然后逆向排序,对要上移的数据使用LAG函数,最后在两列数据合并就好了。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 13:13