楼主: 爱游泳的于
12530 4

[原创博文] first.variable与last.variable是干什么用的 [推广有奖]

  • 1关注
  • 0粉丝

大专生

31%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
624 点
帖子
42
精华
0
在线时间
20 小时
注册时间
2011-10-6
最后登录
2014-5-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题
二维码

扫码加我 拉你入群

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

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

关键词:Variable First ABLE Last FIRS 干什么

沙发
杨花点点 发表于 2012-8-21 15:25:19 |只看作者 |坛友微信交流群
在已按变量variable分组的数据集中,标记每组的第一行和最后一行

使用道具

藤椅
xiaoai0405 发表于 2014-10-15 21:11:33 |只看作者 |坛友微信交流群
杨花点点 发表于 2012-8-21 15:25
在已按变量variable分组的数据集中,标记每组的第一行和最后一行
麻烦说的详细一点
像这个例子:
data by;
input state $ city $ month x;
cards;
nc a 1 3.02
nc a 2 2.1
nc a 3 4.03
nc b 1 5.03
nc b 2 6.3
nc b 3 7.3
va c 1 8.1
va c 2 8.2
va c 3 9.3
va d 1 10.8
va d 2 11.1
va d 3 31.2
;
run;
data by2;
  set by;
  by state city month;
  file print;
  if x=8.1 then put _all_;
run;

输出的结果为:
state=va city=c month=1 x=8.1 FIRST.state=1 LAST.state=0 FIRST.city=1 LAST.city=0 FIRST.month=1 LAST.month=1 _ERROR_=0
_N_=7
1和0分别表示什么意思?谢谢~

使用道具

板凳
melody21 发表于 2014-10-18 01:51:53 |只看作者 |坛友微信交流群
"by state city month;"--说明对数据分别依次按 state,city,month 类别集中
first/last.variable=1 表示 true first/last.variable=0 表示 false

if x=8.1 then put _all_;
===对应的数据行是:va c 1 8.1
FIRST.state=1 LAST.state=0===state va是第一次出现,所以first.state=1, 因为后面va还有两条记录,所以这一条数据记录并不是最后一个,所以LAST.state=0
同理 FIRST.city=1 LAST.city=0
FIRST.month=1 LAST.month=1 ===在同一state (va), 同一city(c)的情况下,month=1 是第一次出现,也是最后一次出现,因为这是唯一的一次记录,所以 FIRST.month=1 LAST.month=1

如果将语句改为  if x=8.2 then put _all_;
就会得到:
FIRST.state=0 LAST.state=0 FIRST.city=0 LAST.city=0 FIRST.month=1 LAST.month=1

使用道具

报纸
8112mmw 发表于 2015-11-19 14:28:25 |只看作者 |坛友微信交流群
正解,其实主要用途还是查重!

使用道具

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

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

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

GMT+8, 2024-5-1 18:52