楼主: clark3721
1704 5

[问答] 关于put的问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
16 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
536 点
帖子
21
精华
0
在线时间
44 小时
注册时间
2008-12-19
最后登录
2016-11-10

楼主
clark3721 发表于 2011-6-19 06:52:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. Data temp;
  2.   input x @@;
  3.   if x > 0 then do;
  4.      put 'x is positive';
  5.      x=2*x;
  6.      put x=;
  7.      end;
  8.    cards;
  9.    -2 -1 0 1 2
  10.     ;
  11. Run;
  12. Proc print;
  13. Run;
复制代码
这段输出的结果是
obs      x
1         -2
2         -1
3          0
4          2
5          4
但是这段
  1. data temp;
  2.   input x @@;
  3.   if x > 0 then do;
  4.      put x=2*x;
  5.      put x=;
  6.      end;
  7.    cards;
  8.    -2 -1 0 1 2
  9.     ;
  10. Run;
  11. Proc print;
  12. Run;
复制代码
输出的就是
obs      x
1         -2
2         -1
3          0
4          1
5          2
这是为什么呢?
二维码

扫码加我 拉你入群

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

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

关键词:put positive Input print cards put

沙发
honghejing 发表于 2011-6-19 09:17:07
一般put出来的是最后一个

藤椅
bobguy 发表于 2011-6-20 00:38:35
clark3721 发表于 2011-6-19 06:52
  1. Data temp;
  2.   input x @@;
  3.   if x > 0 then do;
  4.      put 'x is positive';
  5.      x=2*x;
  6.      put x=;
  7.      end;
  8.    cards;
  9.    -2 -1 0 1 2
  10.     ;
  11. Run;
  12. Proc print;
  13. Run;
复制代码
这段输出的结果是
obs      x
1         -2
2         -1
3          0
4          2
5          4
但是这段
  1. data temp;
  2.   input x @@;
  3.   if x > 0 then do;
  4.      put x=2*x;
  5.      put x=;
  6.      end;
  7.    cards;
  8.    -2 -1 0 1 2
  9.     ;
  10. Run;
  11. Proc print;
  12. Run;
复制代码
输出的就是
obs      x
1         -2
2         -1
3          0
4          1
5          2
这是为什么呢?
The difference is ,

x=2*x ; is a assignment statement

put    is a statement writing 'things' to log or external files.

specifically,

Put x=2*x;   ---> put x= ;  put 2*x ;
已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
liuzhenzhu + 100 + 30 + 2 + 3 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 30  学术水平 + 2  热心指数 + 3   查看全部评分

板凳
clark3721 发表于 2011-6-20 01:10:57
3# bobguy
谢谢楼上的我懂了

报纸
clark3721 发表于 2011-6-20 01:24:22
3# bobguy

对了 第二个的log大致是这样的 中间的note不能复制
  1. 1        data temp;
  2. 2          input x @@;
  3. 3          if x > 0 then do;
  4. 4             put x=2*x;
  5. 5             put x=;
  6. 6             end;
  7. 7           cards;

  8. x=1 1 1
  9. x=1
  10. x=2 2 2
  11. x=2

  12. 1        data temp;
  13. 2          input x @@;
  14. 3          if x > 0 then do;
  15. 4             put x=2*x;
  16. 5             put x=;
  17. 6             end;
  18. 7           cards;

  19. x=1 1 1
  20. x=1
  21. x=2 2 2
  22. x=2

  23. 9            ;
  24. 10       Run;
  25. 11       Proc print;
  26. 12       Run;
复制代码


对于X=1 1 1和X=2 2 2 怎么理解呢?

地板
bobguy 发表于 2011-6-20 07:02:27
clark3721 发表于 2011-6-20 01:24
3# bobguy

对了 第二个的log大致是这样的 中间的note不能复制
  1. 1        data temp;
  2. 2          input x @@;
  3. 3          if x > 0 then do;
  4. 4             put x=2*x;
  5. 5             put x=;
  6. 6             end;
  7. 7           cards;

  8. x=1 1 1
  9. x=1
  10. x=2 2 2
  11. x=2

  12. 1        data temp;
  13. 2          input x @@;
  14. 3          if x > 0 then do;
  15. 4             put x=2*x;
  16. 5             put x=;
  17. 6             end;
  18. 7           cards;

  19. x=1 1 1
  20. x=1
  21. x=2 2 2
  22. x=2

  23. 9            ;
  24. 10       Run;
  25. 11       Proc print;
  26. 12       Run;
复制代码
对于X=1 1 1和X=2 2 2 怎么理解呢?
Put 2*x ---> put x x;

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

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