作者realtemper (真。欧洲提督)
看板Statistics
标题Re: [程式] SAS Proc SQL 的 小小问题 谢谢
时间Fri Jan 25 13:45:27 2019
※ 引述《BenSimmon (新秀)》之铭言:
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手
: [问题叙述]:
: 目前资料长这样: 我希望跑做出的表格(算每年各组的人数):
: ID Group Year 2012 2013 2014 2015
: A I. 2012 Group
: A I. 2013 I. 1 2 2 0
: A I. 2014 II. 1 1 2 2
: B II. 2012
: B II. 2013
: B II. 2014
: B II. 2015
: C I. 2013
: C I. 2014
: D II. 2014
: D II. 2015
: 目前比较接近我想出来的的大概是这样
: Proc sql;
: select Group Year count(distinct ID) from data
: group by Group Year;
: quit;
: 但跟资料格式还是跟预期的有落差
: 想请教各位高手
: 愿意用85度C当酬劳
: 谢谢
要考试了 上来练练手
注意 proc transpose 用法
要留在纵轴的变数放 by
要转成横轴的变数放 id
更复杂的操作我也不会
有遗失值跟栏位名称等小瑕疵 不过虽不中不远矣
data indata;
input ID $1 Group $4-6 Year;
cards;
A I. 2012
A I. 2013
A I. 2014
B II. 2012
B II. 2013
B II. 2014
B II. 2015
C I. 2013
C I. 2014
D II. 2014
D II. 2015
;
run;
proc sql;
create table tmp as
select Group, Year, count(ID) as count
from indata
group by Group, Year
order by Group, Year;
quit;
proc transpose data=tmp out=ans(drop=_name_);
by Group;
id Year;
run;
proc print data=ans;
run;
--
╰═╞╤ ╤╕ ╪╪╒══╮ ╤╧╤╒═╮╭═ ╪╕ ═ ╒╮╧══╪ 就是爱大姐...
| || ||╞══╡ | |╞═╡╭╤ ╧╧ ||╭═╤╯ + ╭──╮
╰╤ | || ||| | ╧═╧| |||╒═╮╤ ╞╕╭═╪╛ ● |
咬我|
||╞ || ||| | ═╪═╞═╡||╰═╛| ||╭─╪╮ < >┤
阿!|
||| |╯ ||╞══╡ |||╞╤╛||╒╪ | |╯| || ∕﹨ ╰──╯
|╧╧ | ╰╪╧══╧ ╛ ╯╘╯ ╯╘╪╯╛ ╰ ╰ ╛╰ real㊣temper
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 62.163.65.2
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1548395144.A.E36.html