作者a3115111500 (胡须)
看板Statistics
标题Re: [问题] SAS如何抓取上一笔资料
时间Mon Mar 18 20:39:15 2013
tew咖啡王子您好!!
我不太懂每行语法的逻辑,
不知道能否请教之,
非常感谢您!!谢谢!
data a; /* 【说明】设立资料集「a」 */
set a; /* 【说明】读入资料集「setF0701all22」 */
retain b; /* 【说明】不懂??? */
if name^='' then b=name; /* 【说明】不懂??? */
name=b; /* 【说明】不懂??? */
drop b; /* 【说明】删掉b栏位 */
run; /* 【说明】执行 */
※ 引述《tew (咖啡王子)》之铭言:
: 试试看这个语法
: data a;
: set a;
: retain b;
: if name^='' then b=name;
: name=b;
: drop b;
: run;
: ※ 引述《jackychou (叹这世间无奈好多)》之铭言:
: : 举例有一群资料如下:
: : NAME DATE WEIGHT
: : ALAN 20100308 69.1
: : . 20100309 68.8
: : . 20100310 68.9
: : . 20100311 68.7
: : BRUCE 20100308 65.7
: : . 20100309 66.0
: : . 20100310 65.9
: : . 20100311 66.0
: : . 20100312 66.2
: : CARL 20100308 67.7
: : . 20100309 67.9
: : . 20100310 68.1
: : . 20100311 68.2
: : . 20100312 68.1
: : 请问有什麽指令可以把每个名字下面的"."
: : 带入上一笔资料?
: : (使ALAN下面三个"." BRUCE跟CARL下面四个"."分别带入ALAN BRUCE CARL)
: : 之前用过STATA记得是 _NAME=_NAME-1 (如果没记错的话 可能有记错 Orz)
: : SAS有类似的功能吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.90.116
1F:推 lsshno1:retain是保留的意思, 但在sas中, 此指令只能用在新变数上 03/18 23:34
2F:→ lsshno1:第二行的意思是, 如果name不是空的, 也就是说, 不是"."时 03/18 23:35
3F:→ lsshno1:刚刚利用retain建立的新变数b, 就会等於name这个变数 03/18 23:36
4F:→ lsshno1:接着利用retain保留的功能, 把b="."的值, 保留下来 03/18 23:37
5F:→ a3115111500:name=b; /* 【说明】不懂??? */ 03/19 00:28
6F:→ a3115111500:drop b; /* 【说明】删掉b栏位 */ 03/19 00:28
7F:→ a3115111500:这两个还是不太懂!! 03/19 00:29
8F:→ a3115111500:语法分开看都看得懂,合起来就觉得怪怪的! 03/19 00:29
9F:→ a3115111500:另外,这个b是甚麽呢?!变数栏?!资料集? 03/19 00:39
10F:→ imaltar:b是变数名称阿 你可以不要drop b,看一下内容是甚麽 03/19 21:49