【发布时间】:2026-01-19 19:10:01
【问题描述】:
使用 SAS,我正在尝试转置表中的数据,以便变量 Class 和 Subclass 的每个唯一值通过变量 ID 成为虚拟变量。
有:
ID Class Subclass
-------------------------------
ID1 1 1a
ID1 1 1b
ID1 1 1c
ID1 2 2a
ID2 1 1a
ID2 1 1b
ID2 2 2a
ID2 2 2b
ID2 3 3a
ID3 1 1a
ID3 1 1d
ID3 2 2a
ID3 3 3a
ID3 3 3b
想要:
ID Class_1 Class_2 Class_3 Subclass_1a ... Subclass_3b
----------------------------------------------------...---------------
ID1 1 1 0 1 ... 0
ID2 1 1 1 1 ... 0
ID3 1 1 1 1 ... 0
我尝试在转置过程的 ID 语句中通过变量 ID 和 Class 和 Subclass 转置数据。然而,这会产生由Class 和Subclass 的值的唯一组合串联组成的变量。在转置过程中没有定义 VAR 的情况下,该方法也不会产生 0 和 1 值。
在转置数据以实现需要表之前,我是否需要先创建实际的虚拟变量,还是有更直接的方法?
【问题讨论】:
-
添加一个。我认为你需要两个转置,每个变量一个。不过有一种更快的方法,请查看 GLMMOD。
标签: sas