楼主: 梦传彩笔
724 1

[其他] 关于截取数据问题 [推广有奖]

  • 2关注
  • 0粉丝

已卖:1份资源

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
通用积分
1.2894
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
12229 点
帖子
31
精华
0
在线时间
117 小时
注册时间
2011-1-20
最后登录
2020-5-28

楼主
梦传彩笔 发表于 2013-5-19 00:08:58 |AI写论文
5论坛币
举例数据
id   a1    a2    a3    a4   a5
1     2     6     8    9     4
2     5     7     6    3     .
3     4     7     3    2     .
4     7     8     6    .     .


如上面数据,我现在想要所有观测的第一个所测值和最后一个所测值,如id=1第一个所测值=2,最后一个所测值=4,而id=2第一个所测值=5 最后一个所测值为3,以下以此类推。我是个新手,请大家帮忙,非常感谢!

最佳答案

牛妮妮 查看完整内容

data a; input id a1 a2 a3 a4 a5; cards; 1 2 6 8 9 4 2 5 7 6 3 . 3 4 7 3 2 . 4 7 8 6 . . ; run; proc transpose data=a out=b; by id; run; data c; set b; if COL1=. then delete; run; data d; set c; by id notsorted; if first.id then output; if last.id then output; run; proc transpose data=d out=f; by id; run; data g; set f; last=compress(cats(of a3-a5),,'kd'); run; data x; ...
关键词:最后一个 非常感谢

沙发
牛妮妮 发表于 2013-5-19 00:08:59
data a;
input id a1 a2 a3 a4 a5;
cards;
1 2 6 8 9 4
2 5 7 6 3 .
3 4 7 3 2 .
4 7 8 6 . .
;
run;
proc transpose data=a out=b;
by id;
run;
data c;
set b;
if COL1=. then delete;
run;
data d;
set c;
by id notsorted;
if first.id then output;
if last.id then output;
run;
proc transpose data=d out=f;
by id;
run;
data g;
set f;
last=compress(cats(of a3-a5),,'kd');
run;
data x;
set g;
keep id a1 last;
rename a1=first;
run;
data y;
set x;
newlast=input(last,12.);
run;
data z;
set y;
keep id first newlast;
rename newlast=last;
run;

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-9 03:21