SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 784|回复: 7
打印 上一主题 下一主题

如何整理?谢谢!

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-7-3 14:11:22 | 只看该作者

如何整理?谢谢!

data aaa;
input name$ value@@;
cards;
RBC  5
RBC  4
RBC  6
HB    110
HB    100
HB    90
ALT   60
ALT   40
run;
希望得到的数据:
name value
RBC  5
空   4
空    6
HB    110
空    100
空      90
ALT   60
空      40
要求数据的顺序不变,谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-7-3 14:15:42 | 只看该作者

Re: 如何整理?谢谢!

空表示缺失
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-7-3 23:07:16 | 只看该作者

Re: 如何整理?谢谢!

[code:1bjedzg5]
data aaa;
input name$ value@@;
cards;
RBC 5
RBC 4
RBC 6
HB 110
HB 100
HB 90
ALT 60
ALT 40
run;
/*方法一*/
data a(drop=flag);
  set aaa;
  flag=lag(name);
  if name=flag then name='';
run;
/*方法二*/
data b(drop=flag);
   length name $8;
   if _n_=1 then do;
   declare hash h();
   h.definekey('name');
   h.definedata('name');
   h.definedone();
   end;
   set aaa(keep=name);
   if h.find()^=0 then h.add();
   else flag=1;
   set aaa;
   if h.find()=0 and flag=1 then do;
      name='';
   end;
output;
run;
[/code:1bjedzg5]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-7-4 08:58:58 | 只看该作者

Re: 如何整理?谢谢!

[code:141goc2v]data want;
        set aaa;
        by name notsorted;
        if first.name then name=name;
                else name=' ';
run;[/code:141goc2v]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2011-7-4 21:19:16 | 只看该作者

Re: 如何整理?谢谢!

[quote:1inolrba]由 gpcy » 2011-7月-04 08:58
data want;
   set aaa;
   by name notsorted;
   if first.name then name=name;
      else name=' ';
run;
[/quote:1inolrba]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2011-7-8 17:46:00 | 只看该作者

Re: 如何整理?谢谢!

学习了,高手很多啊,佩服! 谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2011-7-9 12:11:07 | 只看该作者

Re: 如何整理?谢谢!

[quote="gpcy":140dde9m][code:140dde9m]data want;
        set aaa;
        by name notsorted;
        if first.name then name=name;
                else name=' ';
run;[/code:140dde9m][/quote:140dde9m]

一级会员的程序写得也这么的好啊。
[code:140dde9m]data want;
        set aaa;
        by name notsorted;
        if not first.name then name=' ';       
run;[/code:140dde9m]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2011-7-27 09:21:53 | 只看该作者

Re: 如何整理?谢谢!

[quote:2hzgpt93]data want;
   set aaa;
   by name notsorted;
   if not first.name then name=' ';   
run;[/quote:2hzgpt93]
学习了。。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 03:25 , Processed in 0.070659 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表