楼主: mingfeng07
20657 16

[问答] 关于class语句和by语句的区别 [推广有奖]

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
1147 个
通用积分
2.0601
学术水平
113 点
热心指数
105 点
信用等级
83 点
经验
30381 点
帖子
643
精华
0
在线时间
1147 小时
注册时间
2012-11-20
最后登录
2023-5-23

初级热心勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在做分析的时候通常发现class语句和by语句经常可以互相替换,想问一下他们俩有什么区别呢,我知道class语句主要是分类,而by语句是分组的,但是这个好像并没有什么大的区别哦,想请教一下
二维码

扫码加我 拉你入群

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

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


欢迎扫一扫我头像关注, 不定期分享SAS技术知识。
沙发
是风啊 发表于 2013-10-12 10:07:19 |只看作者 |坛友微信交流群
在用by语句对指定变量分组进行相关操作时,要事先对分组变量排好序,
已有 1 人评分经验 收起 理由
李会超 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

使用道具

藤椅
mingfeng07 学生认证  发表于 2013-10-12 10:16:59 |只看作者 |坛友微信交流群
是风啊 发表于 2013-10-12 10:07
在用by语句对指定变量分组进行相关操作时,要事先对分组变量排好序,
恩恩,那除此之外还有什么别的区别吗,比方说我做proc means过程的时候发现两个语句并无什么差异可言
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

使用道具

板凳
believe448 在职认证  发表于 2013-10-12 11:00:24 |只看作者 |坛友微信交流群
学习了~

使用道具

报纸
yangdelong1988 发表于 2013-10-12 11:07:49 |只看作者 |坛友微信交流群
区别不是很大,但是用by要先排序,所以能用class的地方就不要用by,效率高些,有些语句必须用by或者class

使用道具

地板
mingfeng07 学生认证  发表于 2013-10-12 11:12:22 |只看作者 |坛友微信交流群
yangdelong1988 发表于 2013-10-12 11:07
区别不是很大,但是用by要先排序,所以能用class的地方就不要用by,效率高些,有些语句必须用by或者class
哦哦,受教了,谢谢哈
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

使用道具

7
longgb246 学生认证  发表于 2014-2-19 11:47:39 |只看作者 |坛友微信交流群
必须用by、class的地方是什么地方,求教!~~~

使用道具

8
jingju11 发表于 2014-2-20 12:07:44 |只看作者 |坛友微信交流群
在SAS过程里,BY 和 CLASS 是两个完全不同的概念,即使在某些地方结果或许有巧合。BY 的本质是划分切割数据本身(SUBSET DATA)。CLASS 是对变量值做归属区分(CLASSIFY VARIABLE)。举个例子。京剧

proc means data =sashelp.class; by sex notsorted; var age; run;
proc means data =sashelp.class; class sex; var age; run;
两个过程的结果根本就不同。
关于效率:在某些过程中,如果提前对class变量排序,那么也许可以提高该过程的执行效率。如果要我指出BY的近亲,我到认为STRATA STATEMENT有些相似性,如果它存在的话。京剧
已有 1 人评分经验 热心指数 收起 理由
dxystata + 100 + 1 分析的有道理

总评分: 经验 + 100  热心指数 + 1   查看全部评分

使用道具

9
dxystata 发表于 2014-2-20 21:42:30 |只看作者 |坛友微信交流群
jingju11 发表于 2014-2-20 12:07
在SAS过程里,BY 和 CLASS 是两个完全不同的概念,即使在某些地方结果或许有巧合。BY 的本质是划分切割数据本身(SUBSET DATA)。CLASS 是对变量值做归属区分(CLASSIFY VARIABLE)。举个例子。京剧

proc means data =sashelp.class; by sex notsorted; var age; run;
proc means data =sashelp.class; class sex; var age; run;
两个过程的结果根本就不同。
关于效率:在某些过程中,如果提前对class变量排序,那么也许可以提高该过程的执行效率。如果要我指出BY的近亲,我到认为STRATA STATEMENT有些相似性,如果它存在的话。京剧
有道理,赞同!

使用道具

10
eric_darcy 发表于 2014-2-23 21:17:48 |只看作者 |坛友微信交流群
学习拉~~~

使用道具

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

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

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

GMT+8, 2024-4-26 08:46