SPSS重构数据

SPSS重构数据,spss,spss-modeler,Spss,Spss Modeler,我有以下格式的数据: ID Var1 1 a 1 a 1 b 1 b 2 c 2 c 2 c 我想在SPSS中将其转换(重新构造)为以下格式: ID Var1_1 Var1_2 Var1_3 Total_Count 1 n(a)=2 n(b)=2 n( c )=0 4 2 n(a)=0 n(b)=0 n( c )=3 3 首先,我将创建一些假数据来处理: data list list/ID (f1) Var1 (a1

我有以下格式的数据:

ID  Var1
1   a
1   a
1   b
1   b
2   c
2   c
2   c
我想在SPSS中将其转换(重新构造)为以下格式:

ID  Var1_1  Var1_2  Var1_3     Total_Count 
1   n(a)=2  n(b)=2  n( c )=0    4
2   n(a)=0  n(b)=0  n( c )=3    3

首先,我将创建一些假数据来处理:

data list list/ID (f1)  Var1 (a1).
begin data
1   a
1   a
1   b
1   b
2   c
2   c
2   c
3   b
3   c
3   c
3   c
end data.
dataset name ex.
现在,您可以运行以下操作-聚合、重组、使用计数创建字符串:

aggregate outfile=* /break ID Var1/n=n.
sort cases by ID Var1.
casestovars /id=ID /index=var1.
recode a b c (miss=0).
string Var1_1 Var1_2 Var1_3 (a10).
do repeat abc=a b c/Var123=Var1_1 Var1_2 Var1_3/val="a" "b" "c".
  compute Var123=concat("n(", val, ")=", ltrim(string(abc, f3))).
end repeat.
compute total_count=sum(a, b, c).

如果您在SPSS Modeler中执行此操作,下面是一个适用于此的流图像。命令如下:

  • 使用用户输入节点创建数据集,将ID设置为integer,将Var1设置为string
  • 按Var1值重新构造以生成字段Var1_a、Var1_b和Var1_c
  • 使用键字段ID对计数Var1_a、Var1_b和Var1_c求和进行聚合,从而生成记录计数字段
  • 输出到表

  • 如果使用18.1版,转置节点会很方便。 由于它是一个简单的透视图,您可以转到“字段和记录”,然后将ID放在“索引”中,将Var1放在“字段”中,然后查看是否可以添加另一个字段进行计数聚合。如果没有,就推导出来