SPSS重组数据

时间:2018-03-07 22:22:02

标签: 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

3 个答案:

答案 0 :(得分:1)

首先,我会创建一些假数据来使用:

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).

答案 1 :(得分:1)

如果你在SPSS Modeler中这样做,这里有一个适用于此的流图像。订单是:

  1. 使用用户输入节点创建数据集,将ID设置为整数,将Var1设置为字符串
  2. 按Var1值重构以生成字段Var1_a,Var1_b和Var1_c
  3. 使用关键字段ID汇总计数Var1_a,Var1_b和Var1_c,允许生成记录计数字段
  4. 输出到表
  5. Restructure and Aggregate in SPSS Modeler

答案 2 :(得分:0)

如果使用版本18.1,则转置节点会派上用场。 由于这是一个简单的枢轴,因此您可以转到“字段和记录”,然后将ID放在“索引”中,将Var1放在“字段”中,看看是否可以添加另一个字段用于Count聚合。如果没有,就导出它。