楼主: dqianli
14298 15

[问答] SAS Base 123题中87题 [推广有奖]

11
franky_sas 发表于 2016-10-9 13:34:29 |只看作者 |坛友微信交流群
sunyuming9401 发表于 2016-10-2 22:36
还有为什么最后的output的name是最后一个 virtualdirect而不是其他的呢?
1. year=1,读取banks的第一行,capital为5000;
2. year=2,读取banks的第二行,capital变为10000;
3. year=3,读取banks的第三行,capital变为15000;
4. year=4,跳出do循环,遇到run,将当前 year=4  name=Virtual  rate=0.0728 capital=15000 输出到newbank,并返回到数据步data newbank语句;

使用道具

12
sunyuming9401 发表于 2016-10-10 00:26:05 |只看作者 |坛友微信交流群
franky_sas 发表于 2016-10-9 13:34
1. year=1,读取banks的第一行,capital为5000;
2. year=2,读取banks的第二行,capital变为10000;
3 ...
谢谢你的回复!

使用道具

13
littleskydream 发表于 2017-5-3 14:39:44 |只看作者 |坛友微信交流群
谢谢, 明白了

使用道具

14
ccutyuyu 发表于 2017-12-16 19:39:01 |只看作者 |坛友微信交流群
有没有人讲一下这里的set放在do循环里是一个什么样的数据读入方式?do year=1,一个set,year=2,一个set,看不懂了

使用道具

15
小小丿凡 学生认证  发表于 2017-12-21 12:43:28 |只看作者 |坛友微信交流群
ccutyuyu 发表于 2017-12-16 19:39
有没有人讲一下这里的set放在do循环里是一个什么样的数据读入方式?do year=1,一个set,year=2,一个set,看不 ...
do year=1时,set dataset operates three times. 每次复制一行观测,直到set 的数据集复制完所有观测,再do year=2.

使用道具

16
yuan_wang 发表于 2018-7-10 13:45:29 |只看作者 |坛友微信交流群
/* SAS Base 123 */
/* Question 087 */


/* banks dataset */
data banks;
input name $1-13 rate;
datalines;
FirstCapital  0.0718
DirectBank    0.0721
VirtualDirect 0.0728
;

title 'banks';
proc print data=banks;
run;


/* newbank dataset */
data newbank;
    do year = 1 to 3;
        set banks;
        capital + 5000;
    end;
run;

title 'newbank';
proc print data=newbank;
run;
title;



Results newbank

Obs    year    name                 rate             capital
1        4        VirtualDirect        0.0728        15000

使用道具

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

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

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

GMT+8, 2024-4-20 12:29