经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
OUTPUT语句与set如何公用
楼主
CHENLINGYU
2800
3
收藏
2014-11-14
在原数据集中使用SET进行修改,如何将修改的数据用OUTPUT生成新的数据集
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
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的一个观测。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
wpfwxn
2015-1-11 12:00:54
初学者多看看帮助文档比较好
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
crackman
2015-1-11 16:56:18
说得很详细
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
output语句出错,为什么不能输出到指定数据集
求助:如何调整output界面的显示效果
do循环里面的Output语句有个疑问
SAS新手,求助关于累加语句和output语句的问题!
SAS中关于output的问题
output语句怎么输出字符串
关于output的问题
超简单,去掉SAS output 里面的“傻” SAS 9.3
SAS
output语句
栏目导航
SAS专版
经管在职研
爱问频道
休闲灌水
真实世界经济学(含财经时事)
文献求助专区
热门文章
我该如何记住你?智能体记忆系统的演化之路
2026年亚马逊市场趋势报告
无上高明的“无为”“无住”哲学在传统中国
现代数学基础 现代极限理论及其在随机结构中 ...
高教现代数学基础15 有限群表示论 曹锡华,时 ...
【25更新,详细,热点指标!】2002-2025省级ZF ...
【热点变量,详细,24更新!】2003-2025地级市 ...
科研时间70%耗在“下载-复制-粘贴”?零代码 ...
精准匹配,菁英相伴--经管之家单身俱乐部, ...
找读书搭子
推荐文章
2026JG学术冬训营:从Stata初高到Python机器 ...
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群