SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2540|回复: 3
打印 上一主题 下一主题

请教编程小问题

[复制链接]

1

主题

3

帖子

23

积分

新手上路

Rank: 1

积分
23
跳转到指定楼层
楼主
发表于 2014-11-12 15:21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何表示所有下划线开头的变量。

有很多个变量名,如_121435, _248746, _684343 ,现在想把所有这些变量的缺失值=0。
用missing()=0时遇到卡壳了。
谢谢。
分享到:  微信微信
收藏收藏
回复

使用道具 举报

11

主题

49

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
沙发
发表于 2014-11-29 23:39:58 | 只看该作者
  1. data b; set a;
  2.   array ary(*) _121435 -- _684343;
  3. do i=1 to dim(ary);
  4. if ary(i)=. then ary(i)=0;
  5. end;
  6. run;
复制代码

这是假设所有这些变量都是 numeric,如果其中有 char的话,你就按照这个来改。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
板凳
发表于 2014-12-8 17:42:58 | 只看该作者
本帖最后由 haobq2008 于 2014-12-8 17:46 编辑

proc sql;
update origin_table set
origin_var='0'
where origin_var  like '_%';
quit;
回复 支持 反对

使用道具 举报

2

主题

13

帖子

40

积分

新手上路

Rank: 1

积分
40
地板
发表于 2016-5-18 01:01:59 | 只看该作者
data Original_A;
input _121435 _248746 _99999684343 Do_Not_Change_This_One;
datalines;
1 1 1 4
. 2 2 .
3 3 2 2
1 5 2 .
6 2 . 6
7 7 3 1
. . 4 4
1 1 4 7
9 9 . 8
1 1 5 7
. 4 6 2
1 6 6 .
. 3 7 5
1 7 . .
;
run;

data Updated_B (drop=i);
set Original_A;
array a(*) _:;
do i=1 to dim(a);
  if a(i)=. then a(i)=0;
end;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 17:36 , Processed in 0.182949 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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