楼主: cindy七七
14549 30

SAS里如何取每个变量前几个数据 [推广有奖]

11
cindy七七 发表于 2013-7-10 15:58:46 |只看作者 |坛友微信交流群
boe 发表于 2013-7-10 15:52
呵呵,把想要的贴出来
想要的结果是:就是每一个ID只要前3个数值。
a  a1
a  a2
a  a3
b  b1
b  b2
b  b3
c  c1
c  c2
c  c3

使用道具

12
pobel 在职认证  发表于 2013-7-10 16:08:46 |只看作者 |坛友微信交流群
data a;
    input ID :$     N :$;
        cards;
a    a1
a    a2
a    a3
b    b1
b    b2
b    b3
b    b4
b    b5
c    c1
c    c2
c    c3
c    c4
;

data b;
   set a;
   by id;
   if first.id or lag(first.id) or lag2(first.id);
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lovelybetty1208 + 1 + 1 + 1 分析的有道理

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

和谐拯救危机

使用道具

13
lovelybetty1208 发表于 2013-7-10 16:12:00 |只看作者 |坛友微信交流群
pobel 发表于 2013-7-10 16:08
data a;
    input ID :$     N :$;
        cards;
我刚刚验证了,确实得到了lz想要的结果。
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

14
guozhuang 发表于 2013-7-10 16:16:44 |只看作者 |坛友微信交流群
二楼回复很准确

使用道具

15
cindy七七 发表于 2013-7-10 16:19:31 |只看作者 |坛友微信交流群
pobel 发表于 2013-7-10 16:08
data a;
    input ID :$     N :$;
        cards;
如果这些数据都是一个变量X下的,有很多个X(X1,X2,X3...),每个X都有很多ID,每个ID又有很多N的话那又该怎么办呢?
X   ID  N
X1  a   a11
X1  a   a12
X1  a   a13
X1  b   b11
X1  b   b12
X1  b   b13
X1  b   b14
X1  b   b15
X1  c   c11
X1  c   c12
X1  c   c13
X2  a   a21
X2  a   a22
X2  a   a23
X2  b   b21
X2  b   b22
X2  b   b23
X2  b   b24
X2  b   b25
X2  c   c21
X2  c   c22
X2  c   c23
...

使用道具

16
cindy七七 发表于 2013-7-10 16:21:12 |只看作者 |坛友微信交流群
pobel 发表于 2013-7-10 16:08
data a;
    input ID :$     N :$;
        cards;
意思就是我想得到每个X,每个ID,前3个N的值~

使用道具

17
cindy七七 发表于 2013-7-10 16:24:50 |只看作者 |坛友微信交流群
guozhuang 发表于 2013-7-10 16:16
二楼回复很准确
如果再加一层分类呢?见我上面的回复!

使用道具

18
boe 发表于 2013-7-10 16:28:09 |只看作者 |坛友微信交流群
by x id;
Gorgeous girl , I love !

使用道具

19
cindy七七 发表于 2013-7-10 16:33:54 |只看作者 |坛友微信交流群
boe 发表于 2013-7-10 16:28
by x id;
谢谢亲啊!!!我之前把ID写成N了,所以一直没有结果...太感谢了~

使用道具

20
画纱无形 发表于 2013-7-10 17:05:33 |只看作者 |坛友微信交流群
data n1;
  input id $ number $;
  cards;
   a    a1
   a    a2
   a    a3
   b    b1
   b    b2
   b    b3
   b    b4
   b    b5
   c    c1
   c    c2
   c    c3
   c    c4
run;
data n2;
  set n1;
  by id;
  if first.id=1;
run;
data n3;
  set n1;
  by id;
  if first.id=1 then delete;
run;
data n4;
  set n3;
  by id;
  if first.id=1  ;
run;
data n5;
  set n3;
  by id;
  if first.id=1 then delete;
run;
data n6;
  set n5;
  by id;
  if first.id=1 ;
run;
data n7;
  set n2 n4 n6;
run;
proc sort data=n7;
  by id;
run;

使用道具

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

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

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

GMT+8, 2024-4-25 23:01