经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
OUTPUT语句与set如何公用
楼主
CHENLINGYU
2677
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专版
博弈论
金融实务版
真实世界经济学(含财经时事)
Stata专版
行业分析报告
热门文章
文本分析:从经管顶刊“加分项”到学术发表 ...
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
CAIE人工智能工程师认证
CDA 数据分析师:线性回归实战指南 —— 从 ...
2025中国播客行业现状与发展趋势报告
2025年三季度中国消费者消费意愿调查报告
十五五规划建议思维导图
【详细整理,24重磅!】1990-2024上市公司市场 ...
“十五五”规划建议稿解读:乘势而上,因势 ...
奇瑞首夺J.D.Power-VDS自主冠军
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群