使用SAS将矩阵转换为三列时遇到问题 以下是使用Excel执行此操作的参考,您可以看到Convert matrix to 3-column table ('reverse pivot', 'unpivot', 'flatten', 'normalize')
我一直在谷歌,发现http://support.sas.com/resources/papers/proceedings13/319-2013.pdf做反向(< =) 但我从来没有见过一个人在做什么(=>)。
我知道我可以使用某些函数来获取所有行/列名称,方法是使用SAS / SQL& SAS / IML为每个成对单元分配值 但是,我想寻找任何可以帮助我更清楚易懂的功能 请注意,SAS是我唯一允许使用的语言...抱歉我无法使用Excel来执行此操作...
答案 0 :(得分:0)
您可以使用数组:
案例1:当列名按特定顺序排列时:
data have1;
input col1 $ peter $ john $ brian $ mary $;
cards;
f1 x . . .
f2 x x . .
f3 . x . x
f4 . x x .
;
run;
data want1;
retain col1 col2 values;
set have1;
array p[4] $5. peter--mary;
do i=1 to 4;
values = p(i);
col2 = VNAME(P(i));
output;
end;
keep col1 col2 values ;
run;
案例2:当列名不按特定顺序时:
{{1}}
如有任何疑问,请与我联系。