计算要在堆积条

时间:2017-03-25 17:14:29

标签: spss

我正在制作我的第一张图表。

我有来自调查的序数比例数据的数据集。 我有几个问题,可能的答案从1 - 5。 所以有大约110个来自不同人的答案我想收集并在堆积的酒吧中显示。 这些数据如下:

| taste | region | brand | price |
|   1   |    3   |   4   |   2   |
|   1   |    1   |   5   |   1   |
|   1   |    3   |   4   |   3   |
|   2   |    2   |   5   |   1   |
|   1   |    1   |   4   |   5   |
|   5   |    3   |   5   |   2   |
|   1   |    5   |   5   |   2   |
|   2   |    4   |   1   |   3   |
|   1   |    3   |   5   |   4   |
|   1   |    4   |   4   |   5   |
...

可以显示在堆积条形图中,我需要总结一下。 所以我知道最后需要计算如下:

|       | taste  | region | brand  | price  |
|   1   |   60   |   20   |   32   |   12   |
|   2   |    23  |   32   |   54   |   22   |
|   3   |    24  |   66   |   36   |   65   |
|   4   |    55  |   68   |   28   |   54   |
|   5   |    10  |   10   |   12   |   22   |

(这只是为了演示,值不正确)

或者某种程度上它已经在spss上有了它的功能,但我现在知道如何。

有任何建议如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我想不出一个单一的命令,但有很多方法可以到达你想要的地方。这是一个:

首先重新创建样本数据:

data list list/ taste region brand price .
begin data
 1 3 4 2 
 1 1 5 1 
 1 3 4 3 
 2 2 5 1 
 1 1 4 5 
 5 3 5 2 
 1 5 5 2 
 2 4 1 3 
 1 3 5 4 
 1 4 4 5 
end data.

现在计算每行的值:

vector t(5) r(5) b(5) p(5).
* the vector command is only nescessary so the new variables will be ordered compfortably for the following parts.
do repeat vl= 1 to 5/t=t1 to t5/r=r1 to r5/b=b1 to b5/p=p1 to p5.
  compute t=(taste=vl).
  compute r=(region=vl).
  compute b=(brand=vl).
  compute p=(price=vl).
end repeat.

现在我们可以聚合和重组以达到您指定的确切数据结构:

aggregate /outfile=* /break= /t1 to t5 r1 to r5 b1 to b5 p1 to p5 = sum(t1 to p5).
varstocases /make taste from t1 to t5 /make region from r1 to r5 
            /make brand from b1 to b5/ make price from p1 to p5/index=val(taste).
compute val = char.substr(val,2,1).
alter type val(f1).