楼主: limuqi
3089 8

[原创博文] 怎样update数据 [推广有奖]

  • 1关注
  • 2粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
464 个
通用积分
0.0600
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
838 点
帖子
57
精华
0
在线时间
54 小时
注册时间
2011-8-2
最后登录
2016-1-5

楼主
limuqi 发表于 2011-11-16 01:36:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有一组数据 data set a,拥有100个变量(变量名无规则)load temp dp rh lagmw  ...

我想把所有数据中 为missing value: .  的值替换成 0; 请问应该怎样操作。

变量名太多,不想用 proc sql, update,  where 一个一个的打,请问有没有什么语句可以一次选择所有的变量?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:update date PDA ATE upd update where

沙发
stata18 发表于 2011-11-16 08:13:08
应该可以使用数组解决问题。

藤椅
soporaeternus 发表于 2011-11-16 08:40:23
array _x _numeric_;
do over _x;
if _x =. then _x=0;
end;
Let them be hard, but never unjust

板凳
ordinaryxing 发表于 2011-11-16 08:43:48
study hard

报纸
gaotao0727 发表于 2011-11-16 10:27:50
学习学习~~~
衣带渐宽终不悔,为伊消得人憔悴~~

地板
limuqi 发表于 2011-11-17 05:29:00
soporaeternus 发表于 2011-11-16 08:40
array _x _numeric_;
do over _x;
if _x =. then _x=0;
谢谢,array statment非常有用;

我稍微修改了一下;
data a;
set a;
array x[100] _numeric_;
do i=1 to 100;
        if x=. then x=0;
end;
drop i;
run;

但是我一开始没有定义array的维数x【i】,所以一直报错,想请教一下是不是一定要确定维数呢?

7
limuqi 发表于 2011-11-17 05:33:27
soporaeternus 发表于 2011-11-16 08:40
array _x _numeric_;
do over _x;
if _x =. then _x=0;
data a;
set a;
array x [ *    ]   _numeric_;
do i=1 to dim(x);
        if x=. then x=0;
end;
drop i;
run;

这样就不用第一维数了,还是非常感谢

8
soporaeternus 发表于 2011-11-17 08:52:19
limuqi 发表于 2011-11-17 05:29
谢谢,array statment非常有用;

我稍微修改了一下;
为什么一定要维数哪?
do over 就是遍历维度未知的array的
Let them be hard, but never unjust

9
suzhzh 发表于 2011-11-21 22:30:23
学习了,还有do over

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 08:30