在SAS中重新排列数据集

在SAS中重新排列数据集,sas,transpose,Sas,Transpose,我是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 这可能吗?感谢您的帮助。您希望变量值(VAR)的值被转换为列,这些

我是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

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

您希望变量
值(VAR)
的值被转换为列,这些列将由
因子(ID)
的值为
变量(by)
的每个值命名,同时不在输出字段
中保留值的名称(drop=\u 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;

我总是记得它,因为我知道
by
语句位于左侧,
var
语句构成了要保留的度量或数据,
id
idlabel
语句构成了列名。因此,
by
var
语句的行为类似于
proc-means
等。。。