我有一个要转置的摘要表,但是我无法理解。列应该是行,列应该是值。
有关表格的一些说明。每列代表一年。人们可以分为3个组:A,B或C。2016年,每个人(100)都属于A组。2017年,A组中的35人(5 + 20 + 10),B组中的15人和C组中的50人。 / p>
DATA have;
INPUT year2016 $ year2017 $ year2018 $ count;
DATALINES;
A A A 5
A A B 20
A A C 10
A B C 15
A C A 50
;
RUN;
我希望能够绘制出不同时期内各小组的演变情况。所以我想得到一个表,其中列是行(=句点),列是值(= 3个不同的组)。请找到我想要的表格示例:
我尝试了不同的方法,但是我无法获得想要的东西。
答案 0 :(得分:3)
也许是更直接的方法,但这可能就是我会做的。
DATA have;
INPUT year2016 $ year2017 $ year2018 $ count;
id + 1;
DATALINES;
A A A 5
A A B 20
A A C 10
A B C 15
A C A 50
;
RUN;
proc print;
proc transpose data=have out=want1 name=period;
by id count notsorted;
var year:;
run;
proc print;
run;
proc summary data=want1 nway completetypes;
class period col1;
freq count;
output out=want2(drop=_type_);
run;
proc print;
run;
proc transpose data=want2 out=want(drop=_name_) prefix=Group_;
by period;
var _freq_;
id col1;
run;
proc print;
run;