楼主: gong88123@126
3061 3

三个小程度讨论在data步input 和set 的区别? [推广有奖]

  • 0关注
  • 0粉丝

高中生

77%

还不是VIP/贵宾

-

威望
0
论坛币
960 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
628 点
帖子
31
精华
0
在线时间
30 小时
注册时间
2015-3-31
最后登录
2017-1-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
程序一:
data x;
if _n_=1 then input x;
datalines;
1
2
3
;
run;
proc print;
run;
程序二:
data x1;
input x;
datalines;
1
2
3
;
run;
data x2;
if _n_=1 then set x1;
run;
proc print;
run;
程序三:
data x3;
if _n_=1 then input y $;
set x1;
datalines;
a
b
c
d
;
run;
proc print;
run;
程序四:
data x4;
if _n_=1;
set x1;
run;
proc print;
run;

二维码

扫码加我 拉你入群

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

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

关键词:data步 Input Data put Set input set 程序

沙发
gong88123@126 发表于 2015-4-28 14:28:09 |只看作者 |坛友微信交流群
个人理解如下:
程序一:
pdv里面有_n_ 自动变量,判断满足条件,input x,输入数据集。之后PDVQ清空,当_n_=2,不满足条件,不在input,但是run之前有默认的output。所以会有两个观测。第二观测为缺失。
程序二:
同样也有pdv读数的判定,只不过set数据,pdv不清空。有retain的作用。
程序三是程序一和二的合用。
程序四:
相当于是if _n_1=1 then output;屏蔽了run之前的output。不知是不是这样理解?请各位赐教!
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
382220827 + 1 + 1 精彩帖子
admin_kefu + 10 鼓励积极发帖讨论

总评分: 论坛币 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

藤椅
382220827 发表于 2015-4-29 08:20:46 |只看作者 |坛友微信交流群
gong88123@126 发表于 2015-4-28 14:28
个人理解如下:
程序一:
pdv里面有_n_ 自动变量,判断满足条件,input x,输入数据集。之后PDVQ清空,当 ...
run之前有默认output,类似这样知识点,楼市可否再分享一二?或推荐一点文章

使用道具

板凳
gong88123@126 发表于 2015-4-29 09:17:24 |只看作者 |坛友微信交流群
382220827 发表于 2015-4-29 08:20
run之前有默认output,类似这样知识点,楼市可否再分享一二?或推荐一点文章
可以用一个do  loop来测试理解
data a;
do i=1 to 5;
   do j=10 to 15;
     output;
  end;
output;
end;
run;

使用道具

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

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

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

GMT+8, 2024-4-27 09:22