合并计数频率SPSS

时间:2012-10-18 14:48:40

标签: spss

我正在处理由多个响应问题组成的数据集。我想针对所有变量运行计数频率并合并图表,以便显示已选中复选框的人的百分比。我无法弄清楚如何让SPSS进行多次计数并合并输出图。任何人都有一些见解?

设置数据集

q1 q2 q3 q4 q5
1  -  1  1  1
1  1  1  1  1
1  1  -  1  1
1  -  -  1  -

所以我试图输出的图表将包含变量和输出:

q1==== 100%
q2==    50%
q3==    50%
q4==== 100%
q5===  75%

我尝试将响应合并到一个变量,但这会导致错过对齐的数据。这可以通过重新编码实现吗?

3 个答案:

答案 0 :(得分:2)

使用数据>而不是MULT RESPONSE。定义多个响应集。然后,您可以在图表生成器中使用多响应变量,如果您有自定义表选项,也可以在构建表时使用它。但是,以这种方式定义的集合定义不能在MULT RESPONSE过程中使用。

答案 1 :(得分:2)

要说明Jon's和Lanelor的优秀建议,请从数据开始;

data list fixed / q1 TO q5 1-5.
begin data
1  111
11111
11 11
1  1 
end data.
dataset name mr.

我通常不会将此作为缺失数据保留,但在没有值的情况下重新编码为零(这会改变图表中处理案例的方式 - 因此确实有所作为);

recode q1 TO q5 (SYSMIS = 0).

然后,您可以定义多个响应集,并将其包含在通过图表构建器构建的图形中。

* Define Multiple Response Sets.
MRSETS
  /MDGROUP NAME=$qs CATEGORYLABELS=VARLABELS VARIABLES=q1 q2 q3 q4 q5 VALUE=1
  /DISPLAY NAME=[$qs].

*Make the chart - can use chart builder GGRAPH to include multiple response sets.
GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=$qs[name="qs"] COUNT()[name=
  "COUNT"] MISSING=LISTWISE REPORTMISSING=NO
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
 SOURCE: s=userSource(id("graphdataset"))
 DATA: qs=col(source(s), name("qs"), unit.category())
 DATA: COUNT=col(source(s), name("COUNT"))
 GUIDE: axis(dim(1), label("$qs"))
 GUIDE: axis(dim(2), label("Count"))
 SCALE: cat(dim(1), include("q1", "q2", "q3", "q4", "q5"))
 SCALE: linear(dim(2), include(0))
 ELEMENT: interval(position(qs*COUNT), shape.interior(shape.square))
END GPL.

同样,如果要创建Lanelor;

建议的表格
MULT RESPONSE GROUPS=$q1toq5 (q1 q2 q3 q4 q5 (1))
  /FREQUENCIES=$q1toq5.

您可以在表格中选择所需的统计数据,然后右键单击并从这些选择中生成图表(在屏幕截图之后,它包括它在我的机器上使用我的个人图表模板生成的图表);

enter image description here

enter image description here

GGRAPH和MRSETS命令功能更强大,允许对图表进行更多自定义,但Lanelor的建议对于一些快速EDA来说是好的。

答案 2 :(得分:1)

从菜单中:Analyze-> Multiple Response-> Define Variable Set-> Move to“Selected”q1 to q5,检查二分类型并输入要计算的数字(在示例中,即1) 。选择一个名称并确认。然后分析 - >多重响应 - >频率 - > /创建集的名称/.

如果必须重复多个变量,请在SPSS中查找语法编码,例如:

MULT RESPONSE GROUPS=$q1toq5 (q1 q2 q3 q4 q5 (1))
  /FREQUENCIES=$q1toq5.