1

我是 SAS 新手,正在尝试重新排列数据集。我觉得它不应该太难,但我已经为此苦苦挣扎了一段时间。这是我的数据集的样子

Factor Variable Value
A      X        1
A      Y        2
B      X        3
B      Y        4

我希望我的结果数据集是

Variable   A   B
X          1   3
Y          2   4

这可能吗?感谢您的帮助。

4

1 回答 1

3

您希望将变量的值Value (VAR)转置到将由Factor (ID)每个值的值命名的列Variable (BY),而不是在输出字段中保留值的名称_NAME_ (drop=_NAME_)。我承认我总是需要用它来获得我需要的东西。

data in;
length Factor Variable $1 Value 8;
input Factor Variable Value;
cards;
A      X        1
A      Y        2
B      X        3
B      Y        4
;
run;

proc sort data=in;
BY Variable;
run;

proc transpose data=in out=transp (drop=_NAME_);
ID Factor;
BY Variable;
VAR value;
run;

proc print noobs;run;
于 2012-07-28T12:59:23.807 回答