请选择 进入手机版 | 继续访问电脑版
楼主: userzht
5486 25

[问答] 求指教代码:SAS用某些变量值相同的其他记录中另一变量值替换该记录的缺失值 [推广有奖]

userzht 发表于 2015-1-25 08:48:08 |显示全部楼层 |坛友微信交流群
sushe1527 发表于 2015-1-23 22:15
data a;
  infile 'f:\x.txt' truncover ;
  input  a1 b1 c1  d1$  a2 b2 c2  d2$  a3 b3 c3  d3$  a4 b ...
如果不同变量的格式不一样,长度也不一样,能不能根据变量的名字查找啊?

使用道具

sushe1527 发表于 2015-1-25 10:05:45 |显示全部楼层 |坛友微信交流群
userzht 发表于 2015-1-25 08:48
如果不同变量的格式不一样,长度也不一样,能不能根据变量的名字查找啊?
你怎么像挤牙膏一样,每次说一点 每次改一点,你能直接想个最复杂的情况写在这吗?

使用道具

userzht 发表于 2015-1-25 17:07:13 |显示全部楼层 |坛友微信交流群
sushe1527 发表于 2015-1-25 10:05
你怎么像挤牙膏一样,每次说一点 每次改一点,你能直接想个最复杂的情况写在这吗?
主要是因为原来想得都是一般情况,没想到你完全是根据数据特点写代码,已经到了炉火纯青的地步了。。。{:2_39:}

重复测量数据,测量时间不同,按测量次数排列变量,每次测量有变量200多个。每个变量有不同的格式和长度,指示变量是每次测量的最后一个变量,是3位的字符变量,有20多种可能的取值,选择第一次出现某种取值的测量次数,生成新数据库的第一次测量,复制该次测量其余变量当作第一次测量,余下的也复制下来得到第二次至以后的重复测量数据。指示变量没出现该种取值的记录删除。

下面的做个样例,第一行是变量名:

a1_1    b3_1   c59_1   aaa_1    iii444_1    .......   Ai_1        a1_2    b3_2     c59_2   aaa_2  iii444_2    .......    Ai_2         a1_3    b3_3    c59_3    aaa_3   iii444_3     .......    Ai_3   
asdf     dfs      gew       345        23939       .......   A32        asdf     dfs        gew      3458     939           .......    A32          skd      we        irws       43           584            .......    A89  
sdf       dfs      ew         345        2939         .......   A31         sdf        d1fs      gew      3458     39            .......    A32          kkd      ee         rws       143          584           .......    A66  
sdf       dfs      ew         345        2939         .......   A31         sdf        d1fs      gew      3458     39            .......    A32
ssdf     dfs      gew       345        3939         .......   A42        asdf     dfs        gew      3458     939           .......    A22          skd      we        irws       43           584            .......    A32
asf       dfs      gew       345        23939       .......   A32        kkd      ee         rws       143          584         .......    A66          sdf       dfs      ew         345        2939            .......   A31  
sdf       d1fs      gew      3458     39            .......    A32      
asdf     dfs        gew      3458     939           .......    A22      kkd      ee         rws       143          584         .......    A66

QQ截图20150125215347.png


比如,选择Ai2_?第一次出现A32作为第一次测量,其余的测量复制过来,没出现过A32的删除。。。

下面那个图片不用看。。这个因为是上传了附件,不会删除了。。。

QQ截图20150125171113.png

使用道具

userzht 发表于 2015-1-28 13:35:21 |显示全部楼层 |坛友微信交流群
sushe1527 发表于 2015-1-25 10:05
你怎么像挤牙膏一样,每次说一点 每次改一点,你能直接想个最复杂的情况写在这吗?
高手,是不是把我这茬给忘记了,呵呵

使用道具

sushe1527 发表于 2015-1-28 14:36:33 |显示全部楼层 |坛友微信交流群
惭愧这个也太复杂了

使用道具

userzht 发表于 2015-1-29 11:04:12 |显示全部楼层 |坛友微信交流群
sushe1527 发表于 2015-1-28 14:36
惭愧这个也太复杂了
呵呵,那我就用笨办法。

对了,字符串能像数字那样求大小吗?比如min()函数?

使用道具

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

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

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

GMT+8, 2024-3-29 01:38