1

我有以下格式的数据:

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
4

3 回答 3

1

如果您在 SPSS Modeler 中执行此操作,这里有一个适用于此的流图像。顺序是:

  1. 使用用户输入节点创建数据集,将 ID 设置为整数,将 Var1 设置为字符串
  2. 通过 Var1 值重组以生成字段 Var1_a、Var1_b 和 Var1_c
  3. 使用关键字段 ID 汇总计数 Var1_a、Var1_b 和 Var1_c,允许生成记录计数字段
  4. 输出到表

SPSS Modeler 中的重组和聚合

于 2018-03-08T16:02:25.303 回答
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).
于 2018-03-08T06:43:40.393 回答
0

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

于 2019-03-18T06:40:22.787 回答