楼主: jing_2845
4755 5

[原创博文] 新手关于变量赋值问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

76%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
101 点
帖子
13
精华
0
在线时间
11 小时
注册时间
2009-9-25
最后登录
2012-12-6

楼主
jing_2845 发表于 2012-8-6 11:15:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data a;
input x @@;
count=0;
if x<1 or x>5 then do;
put x; count=count+1;
end;
else sumx+x;
cards;
1 2 7 2 12 24 22
;
run;
为什么不能用count计数呢?而这样做就可以,那不用给新变量count赋初值吗?
data a;
input x @@;
if x<1 or x>5 then do;
put x; count+1;
end;
else sumx+x;
cards;
1 2 7 2 12 24 22
;
run;新接触sas求教,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Count Input cards card Data count

沙发
stormhoof 发表于 2012-8-6 11:32:51
retain count 0;

藤椅
jing_2845 发表于 2012-8-6 11:41:20
stormhoof 发表于 2012-8-6 11:32
retain count 0;
不太理解,你的意思是说又返回到count 0了吗?那第一个程序应该怎么改啊?

板凳
stormhoof 发表于 2012-8-6 11:52:18
jing_2845 发表于 2012-8-6 11:41
不太理解,你的意思是说又返回到count 0了吗?那第一个程序应该怎么改啊?
retain count 0;就是给count赋初值0。count=0;的意思是count这个变量所有值都是0

报纸
你猜~~~ 发表于 2012-8-6 12:19:14
如果用第一个程序,每一个迭代过程count的初始值均为0,所以只要if成立,count始终是1.
第二个不一样,count+1等价于retain x 0;count =count+1;

地板
lynette_89 发表于 2012-8-6 20:22:36
看SAS帮助中的

Sum Statement


Syntax
variable+expression;  

里面详细说明了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 07:13