首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出哪个组合频率最高?

如何找出哪个组合频率最高?
EN

Stack Overflow用户
提问于 2016-11-06 14:49:46
回答 1查看 67关注 0票数 2

我有一个SPSS数据集与500+的受访者和18个症状,他们可能有。

每个症状都有它自己的变量Symptom01 =1表示它们有症状1 Symptom02 =0表示它们没有症状2等等

我想知道的是,在我的数据集中,3种症状的组合更为频繁。例如,有多少人有症状1,5和6;有多少人有症状1,2和3,等等。

我不是说他们只有这些症状。他们可以有其他人。我只想知道哪一组3种症状在我的数据集中比较常见。这是很多组合,所以你会怎么做呢?

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-06 17:56:10

请注意下面的宏使用变量名称Symptom1、Symptom2等,而不是"Symptom01“、”Symptom02“.

首先,创建一些要处理的示例数据:

代码语言:javascript
复制
data list list/Symptom1 to Symptom18.
begin data
1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1
1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0
0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0
1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0
0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1
1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1
1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1
1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0
end data.

现在定义一个具有三个循环的宏:

编辑-此版本用于重复症状的组合

代码语言:javascript
复制
define AllCombsOf3 ()
!do !vr1=1 !to 18
!do !vr2=!vr1 !to 18
!do !vr3=!vr2 !to 18
!if (!vr2<>!vr1 !and  !vr2<>!vr3) !then
compute !concat("C_",!vr1,"_",!vr2,"_",!vr3)= !concat("Symptom",!vr1)=1 & !concat("Symptom",!vr2)=1 & !concat("Symptom",!vr3)=1 .
!ifend
!doend
!doend
!doend
!enddefine.

运行宏并显示想要的结果:

代码语言:javascript
复制
AllCombsOf3.
means  C_1_2_3 to C_16_17_18.

编辑2-四症状版的新宏

代码语言:javascript
复制
define AllCombsOf4 ()
!do !vr1=1 !to 18
!do !vr2=!vr1 !to 18
!do !vr3=!vr2 !to 18
!do !vr4=!vr3 !to 18
!if (!vr2<>!vr1 !and  !vr2<>!vr3  !and  !vr3<>!vr4) !then
compute !concat("C_",!vr1,"_",!vr2,"_",!vr3,"_",!vr4)=  
    !concat("Symptom",!vr1)=1 & !concat("Symptom",!vr2)=1 &   
    !concat("Symptom",!vr3)=1 & !concat("Symptom",!vr4)=1 .
!ifend
!doend  !doend  !doend  !doend
!enddefine.

AllCombsOf4.
means  C_1_2_3_4 to C_15_16_17_18.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40450650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档