请选择 进入手机版 | 继续访问电脑版
楼主: xy_ycl
7141 2

[问答] SAS中by语句用法 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

41%

还不是VIP/贵宾

-

威望
0
论坛币
66197 个
通用积分
63.0597
学术水平
1 点
热心指数
3 点
信用等级
1 点
经验
2854 点
帖子
120
精华
0
在线时间
134 小时
注册时间
2012-9-20
最后登录
2023-6-13

xy_ycl 发表于 2019-1-21 20:20:29 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
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 by5;
  set by;
  by  state  city month;
  file print;
  if x=8.2 then put _all_;
run;
为什么把by语句改为  by month state  city ;后程序只读了前两行,是不是意味着by语的变量顺序需要根据输入变量的顺序?
另外还有没有类似的语句需要注意变量顺序?

二维码

扫码加我 拉你入群

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

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

关键词:month State Input print cards

回帖推荐

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

by statement后面是有顺序的,by state city month;相当于先按照state的alphabetical顺序排序分组,然后在每一个state组内,再对city进行排序分组,接着在city组内对month进行排序分组。假如你把month提前,变成by month state city,那么按照SAS对于by month的理解,下一个obs的month值应该大于等于上一个obs的month值。所以,第一条输出没有问题,第二条输出也没有问题,第三条读入后,在与第四条的month进行比对的时候,发现第四 ...
已有 1 人评分热心指数 收起 理由
eijuhz + 2 精彩帖子

总评分: 热心指数 + 2   查看全部评分

steven_1017 发表于 2019-1-25 03:36:40 |显示全部楼层 |坛友微信交流群
by statement后面是有顺序的,by state city month;相当于先按照state的alphabetical顺序排序分组,然后在每一个state组内,再对city进行排序分组,接着在city组内对month进行排序分组。假如你把month提前,变成by month state city,那么按照SAS对于by month的理解,下一个obs的month值应该大于等于上一个obs的month值。所以,第一条输出没有问题,第二条输出也没有问题,第三条读入后,在与第四条的month进行比对的时候,发现第四条的month值为1,小于第三条month的值,因此,第三、第四两条都不会输出到by5数据集中,然后log日志报错,说by variable没有被正确的sort。

不管是set by,还是merge by,只要这些有by的,提前都要进行sort by,并且sort by的variable与后续的set by、merge by的variables要相同,顺序也要严格一致。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
xy_ycl + 5 + 1 + 1 + 1 精彩帖子

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

使用道具

xy_ycl 发表于 2019-2-21 18:54:27 |显示全部楼层 |坛友微信交流群
steven_1017 发表于 2019-1-25 03:36
by statement后面是有顺序的,by state city month;相当于先按照state的alphabetical顺序排序分组,然后在每 ...
谢谢您的回复,我懂了

使用道具

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

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

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

GMT+8, 2024-3-29 19:24