SAS,切换行和列,以获得结果
SAS, switch rows and columns, for results
如果有办法,我想重新格式化我的打印结果。
我在 运行 proc 之后得到的是:
Yearㅣ # ㅣ Variable ㅣ N ㅣMean
-------------------------------------
1991ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1991ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1991ㅣ x ㅣ CCCCC ㅣ x ㅣ x
1992ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1992ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1992ㅣ x ㅣ CCCCC ㅣ x ㅣ x
1993ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1993ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1993ㅣ x ㅣ CCCCC ㅣ x ㅣ x
我想更改此结果 table 以便 1991 1992 1993 列
我希望行显示为:
AAAAA
N
Mean
BBBBB
N
Mean
CCCCC
N
Mean
谢谢。
试试这个。它可能不完全是您想要的,但它可能接近。
proc sort data=WHAT_I_HAVE;
by variable year;
proc transpose data=WHAT_I_HAVE out=WHAT_I_NEED;
by variable;
id year
var n mean;
run;
免责声明:这是未经测试的代码,可能需要调试。
对于显示的输出(相对于生成的输出数据集),您可以使用 Proc TABULATE
轻松安排演示文稿。
SASHELP.FISH
是 SAS 示例数据集,可能与您的数据具有相同的布局。
示例:
演示明智,在 FISH
中,变量 species
将对应于您的 YEAR
比较和对比 MEANS
输出与 TABULATE
输出。数字相同但呈现方式不同(统计信息以行而不是列显示)。
proc means data=sashelp.fish n mean ;
class species;
var weight height width;
where species =: 'P'; * limit for demonstration;
run;
proc tabulate data=sashelp.fish;
title "Tabulate";
title2 font=courier "(weight height width) * (n mean) , species";
class species;
var weight height width;
table (weight height width) * (n mean) , species;
where species =: 'P'; * limit for demonstration;
run;
将产生这两个输出
如果有办法,我想重新格式化我的打印结果。
我在 运行 proc 之后得到的是:
Yearㅣ # ㅣ Variable ㅣ N ㅣMean
-------------------------------------
1991ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1991ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1991ㅣ x ㅣ CCCCC ㅣ x ㅣ x
1992ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1992ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1992ㅣ x ㅣ CCCCC ㅣ x ㅣ x
1993ㅣ x ㅣ AAAAA ㅣ x ㅣ x
1993ㅣ x ㅣ BBBBB ㅣ x ㅣ x
1993ㅣ x ㅣ CCCCC ㅣ x ㅣ x
我想更改此结果 table 以便 1991 1992 1993 列 我希望行显示为:
AAAAA
N
Mean
BBBBB
N
Mean
CCCCC
N
Mean
谢谢。
试试这个。它可能不完全是您想要的,但它可能接近。
proc sort data=WHAT_I_HAVE;
by variable year;
proc transpose data=WHAT_I_HAVE out=WHAT_I_NEED;
by variable;
id year
var n mean;
run;
免责声明:这是未经测试的代码,可能需要调试。
对于显示的输出(相对于生成的输出数据集),您可以使用 Proc TABULATE
轻松安排演示文稿。
SASHELP.FISH
是 SAS 示例数据集,可能与您的数据具有相同的布局。
示例:
演示明智,在 FISH
中,变量 species
将对应于您的 YEAR
比较和对比 MEANS
输出与 TABULATE
输出。数字相同但呈现方式不同(统计信息以行而不是列显示)。
proc means data=sashelp.fish n mean ;
class species;
var weight height width;
where species =: 'P'; * limit for demonstration;
run;
proc tabulate data=sashelp.fish;
title "Tabulate";
title2 font=courier "(weight height width) * (n mean) , species";
class species;
var weight height width;
table (weight height width) * (n mean) , species;
where species =: 'P'; * limit for demonstration;
run;
将产生这两个输出