楼主: baiduqiqi
1544 2

[问答] SAS base 程序求教 [推广有奖]

  • 15关注
  • 3粉丝

已卖:9份资源

博士生

23%

还不是VIP/贵宾

-

威望
0
论坛币
304 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
4565 点
帖子
198
精华
0
在线时间
162 小时
注册时间
2012-3-17
最后登录
2024-2-22

楼主
baiduqiqi 在职认证  发表于 2012-9-2 15:37:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
10. The SAS data set Sashelp.Prdsale contains the variables Region and Salary with 4 observations per Region. Sashelp.Prdsale is sorted primarily by Region and within Region by Salary in descending order. The following program is submitted:
data one;
set sashelp.prdsale;
retain temp;
by region descending salary;
if first.region then
do;
temp=salary;
output;
end;
if last.region then
do;
range=salary-temp;
output;
end;
run;
For each region, what is the number of observation(s) written to the output data set?
答案是2个!为什么呢?retain在这里的作用是什么呢?temp和range是2个不同的变量,怎么就变成了2个观测呢?
二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base observations observation following 程序 one following written number

回帖推荐

lynette_89 发表于2楼  查看完整内容

先按region升序排,再按salary降序 它是问for each region拉 first.region时会output一次 同样last.region也output一次 所以是2条记录 retain就是这个值保持,知道它变了,然后继续保持,直到它再变了。。。。。 唉,我果然讲不清楚啊。。。。。。。。。。。。

沙发
lynette_89 发表于 2012-9-3 21:03:36
先按region升序排,再按salary降序
它是问for each region拉
first.region时会output一次
同样last.region也output一次
所以是2条记录
retain就是这个值保持,知道它变了,然后继续保持,直到它再变了。。。。。
唉,我果然讲不清楚啊。。。。。。。。。。。。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
baiduqiqi + 1 + 1 + 1 根据规定进行奖励

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

藤椅
Imasasor 发表于 2012-9-3 21:18:28
sas语句中如果没有output语句,就默认全部output.
如果有output语句,则只选择符合条件的output.
要理解sas是一个观测一个观测将数据读入pdv,然后执行data步所有程序
程序中很清楚的说明,如果是一个region的第一个,和最后一个,才执行do语句,而output包括在do语句中,所以除了第一个和最后一个,其它的不执行do,自然不会输出。
至于retain,多试几个例子就会明白。如果没有retain,sas在set语句读完一个观测,返回data步开头,读下一个观测时,pdv中所有变量初始化为缺失,而retain语句则保证变量除非被重新赋值,否则在pdv中还是原来的值
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
baiduqiqi + 1 + 1 + 1 好的意见建议

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

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 00:50