楼主: CHENLINGYU
2409 3

[问答] OUTPUT语句与set如何公用 [推广有奖]

  • 2关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
1640 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
111 点
帖子
8
精华
0
在线时间
23 小时
注册时间
2014-9-17
最后登录
2016-4-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在原数据集中使用SET进行修改,如何将修改的数据用OUTPUT生成新的数据集
二维码

扫码加我 拉你入群

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

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

关键词:output put语句 outpu Out put 如何

沙发
bakoll 发表于 2015-1-9 21:40:19 |只看作者 |坛友微信交流群
SAS中利用SET和OUTPUT语句拆分数据集,不知下面的案例是否能到你的意思,有时我们需要根据某一分类原则把数据行分别存放到不同的数据集。比如,我们希望把数据集C9501中的所有男生的观测放到数据集C9501M中,把所有女生的观测放到C9501F中,可以使用如下程序:
  data c9501m c9501f;
  set c9501;
  select(sex);
  when('男')output c9501m;
  when('女')output c9501f;
  otherwise put sex= '有错';
  end;
  drop sex;
  run;
  proc print data=c9501m;run;
  proc print data=c9501f;run;
  这个程序中有两个地方需要注意:在DATA语句中,我们指定了两个数据集名,这表示要生成两个数据集。程序中用SET语句引入了一个数据集,这个数据集的观测如何分配到两个结果数据集中呢?关键在于OUTPUT语句。OUTPUT语句是一个可执行语句,它使得当前观测被写到语句指定的数据集中。这样,我们根据SELECT的结果把不同性别分别放到了两个不同数据集中。
  OUTPUT语句还可以用来强行写入数据集而不必象我们在数据步流程图中说明的那样等到数据步最后一个语句完成。数据步中有了OUTPUT语句后数据步流程中不再有自动写入观测的操作,而只能由OUTPUT语句指定输出。不指定数据集名的OUTPUT语句输出到第一个结果数据集。比如下面的程序生成一个包含1到10的及其平方的有10个观测的数据集:
  data sq;
  do i=1 to 10;
  j=i*i;
  output;
  end;
  run;
  proc print;run;
  如果删去上面的OUTPUT语句则结果数据集中只有i=11,j=100的一个观测。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
pobel + 3 + 3 + 3 不指定数据集名的OUTPUT语句会输出到所有结.

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

藤椅
wpfwxn 发表于 2015-1-11 12:00:54 |只看作者 |坛友微信交流群
初学者多看看帮助文档比较好

使用道具

板凳
crackman 发表于 2015-1-11 16:56:18 来自手机 |只看作者 |坛友微信交流群
说得很详细

使用道具

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

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

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

GMT+8, 2024-5-4 04:40