首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用SPSS fuzzy命令修复病例对照匹配

如何用SPSS fuzzy命令修复病例对照匹配
EN

Stack Overflow用户
提问于 2019-04-28 21:32:56
回答 1查看 1.4K关注 0票数 1

我试图在我的数据中创建一个1:4的病例对照匹配,但最终的数据集不包括任何控件。为什么会这样呢?

我使用的是SPSS23,其中有745,414个观察值,595,388个对照组和150026个病例(20.1%,1:4的比率)。病例和对照已经在年龄和性别上匹配,但我正在尝试创建五个观察(1个病例和4个对照)的集群,每个都标记有一个特定的ID。

这是我一直在使用的代码:

FUZZY BY=age sex supplierid=supplier newdemanderidvar=sid group=case

%%性别范围从8-88m年龄可以接受两个值(1或2),“供应商”是一个从1到745,414的序列号,“案例”标记观察是病例(1)还是对照(0).%%

我还尝试将文件分离为控制数据集和案例数据集,并使用了略有不同的代码:

我期望得到的结果如下例所示:

而是简单地从新的ID变量中排除控件:

知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-16 04:17:38

您的模糊命令看起来不完整。通常可以从程序本身所做的事情中收集到很多信息。尝试使用"Data ->案例控制匹配...“用于设置分析并查看粘贴的命令语法与您的命令语法有何不同的菜单

你的:

代码语言:javascript
复制
FUZZY BY=age sex supplierid=supplier newdemanderidvar=sid group=case

由UI粘贴:

代码语言:javascript
复制
FUZZY BY=age sex SUPPLIERID=supplier NEWDEMANDERIDVARS=sid GROUP=case EXACTPRIORITY=FALSE MATCHGROUPVAR=id 
 /OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE.

当然,上面的命令有缺省值,但UI不会让您退出它,直到您指定了使作业运行的最小值。

以下是我的示例语法,用于创建一个我认为您正在描述的数据集,并对其运行模糊。

代码语言:javascript
复制
* Encoding: UTF-8. 

DATASET CLOSE ALL.
NEW FILE.
OUTPUT CLOSE ALL.

INPUT PROGRAM. 
LOOP supplier = 1 TO 745414. 
COMPUTE case =  (mod($CASENUM,4)=0). 
COMPUTE age = SUM(TRUNC(UNIFORM(80)),8). 
COMPUTE sex = SUM(TRUNC(UNIFORM(2)),1). 
END CASE. 
END LOOP. 
END FILE. 
END INPUT PROGRAM. 
VALUE LABELS case 0 'Control' 1 'Case'/ 
     sex 1 'Female' 2 'Male'. 
EXECUTE. 
** A 1:4 ratio *.
FREQUENCIES VARIABLES =case.

** Your posted command -- fails for me **.
*FUZZY BY=age sex supplierid=supplier newdemanderidvar=sid group=case.
** The command the UI built and pasted **.
FUZZY BY=age sex SUPPLIERID=supplier NEWDEMANDERIDVARS=sid GROUP=case EXACTPRIORITY=FALSE  MATCHGROUPVAR=id 
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55890764

复制
相关文章

相似问题

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