楼主: xmubaorui
12775 11

[原创博文] sas sql 中位数 [推广有奖]

  • 4关注
  • 1粉丝

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
267 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
427 点
帖子
44
精华
0
在线时间
49 小时
注册时间
2011-11-11
最后登录
2013-3-12

楼主
xmubaorui 在职认证  发表于 2012-4-29 19:22:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我在sas sql 的汇总函数中没有找到中位数这个函数,group by 被默认为having,请教各位如何求分组后的中位数(如全校学生不同专业不同班级学生的成绩)
二维码

扫码加我 拉你入群

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

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

关键词:sql 中位数 having Group AVI having 中位数 如何 专业

沙发
bobguy 发表于 2012-4-29 21:04:07
Using proc means. It is cumbersome to calculate a median of a variable in SQL.


data t1;
do c=1,2,3;
do x=1,1,2,2,2,3;
z=x+c;
    output;
end;
end;
run;

proc means data=t1 mean median;
  class c;
  var x z;
run;

藤椅
xmubaorui 在职认证  发表于 2012-4-29 22:46:33
bobguy 发表于 2012-4-29 21:04
Using proc means. It is cumbersome to calculate a median of a variable in SQL.
Thank you for your kindheart

板凳
chendonghui1987 发表于 2012-5-2 10:34:15
proc means还是很有用的

报纸
uspeng 发表于 2012-5-3 07:00:52
前两天和我干活的人问我同样的问题,你们都把简单的东西搞复杂了。

地板
xmubaorui 在职认证  发表于 2012-5-3 12:18:46
uspeng 发表于 2012-5-3 07:00
前两天和我干活的人问我同样的问题,你们都把简单的东西搞复杂了。
请教高招

7
mymine 发表于 2012-5-3 13:08:15
按照中位数定义写了一段sql语句求中位数的程序,不过和proc mean比起来复杂太多
如果总数为奇数,则中位数的第(n+1)/2个数
如果总数为偶数,则中位数等于第n/2个数与第n/2+1个数的均值


proc sort data=a1 out=a1;
by id b;
run;
data a1;
set a1;
by id b;
if first.id then n1=1;
else n1+1;
run;
proc sql;
create table a2 as
select distinct id,mean(b) as mb
from (select * from a1 group by id having 0<=n1-max(n1)/2<=1) group by id;
quit;

8
xmubaorui 在职认证  发表于 2012-5-3 16:26:45
mymine 发表于 2012-5-3 13:08
按照中位数定义写了一段sql语句求中位数的程序,不过和proc mean比起来复杂太多
如果总数为奇数,则中位数 ...
写的很不错的sql,学习一下

9
cswcbqkl 在职认证  发表于 2012-5-4 22:14:40
比较复杂啊 新手飘过

10
yongjiang2 发表于 2012-7-4 21:36:46
学习

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 12:11