【问题标题】:How can I filter data in spss by multiple conditions如何按多个条件过滤spss中的数据
【发布时间】:2021-10-28 07:44:39
【问题描述】:

我正在处理 SPSS 上的大型数据集。我对某个研究项目有一定的纳入和排除标准,但我不确定如何按复杂条件过滤数据。

例如,我想包含满足特定条件的案例:

包含: 做过手术,癌在口咽,癌在口腔

排除: 患有转移性疾病,未进行活检,缺少生存和边缘状态数据。

给我的变量很复杂。例如,癌症原发部位的变量是描述身体不同部位的字符串列表。我必须将其重新编码为口咽或口腔,然后我只想要其中任何一个部位的病例。

使用语法的最佳系统方法是什么?我应该使用 Do IF、IF ELSE 语句吗?或过滤?

我不确定如何在语法编辑器中按所有这些条件进行过滤

【问题讨论】:

    标签: filter spss


    【解决方案1】:

    最好用所有条件计算一个新变量,然后用它来过滤。

    在以下示例中,变量filt 将接收值 1 用于具有所有条件的情况,而 0 用于不具有所有条件的情况:

    compute filt=
       (varA="this" or varA="that") and
       not missing(varB) and
       (varC>=10 and varC<=20).
    
    filter by filt.
    

    如果您以后不需要其他情况,可以使用 filter 代替:

    select if filt=1.
    

    【讨论】:

    • 它开始变得有意义,但我遇到了障碍。 compute filt = not missing (HISTOLOGY) and Range(HISTOLOGY, 8050,8084) /*select SCC histology and (PRIMARY_SITE = "C000" or PRIMARY_SITE= "C001" ). /* filter for oral cavity and oropharynx filter by filt. select if filt = 1. FREQUENCIES PRIMARY_SITE我尝试了这种语法,但我无法同时过滤主站点 c000 和 c002。当我检查频率时它只返回 c000
    • 你的computePRIMARY_SITE= "C001",你说你在你的频率中寻找“C002”——这可能是原因吗?另外,您确定有些情况是PRIMARY_SITE= "C002" 并且还具有所有其他条件吗?顺便说一句,你不需要 filterselect - 要么是要么。
    • 问题是双引号。出于某种原因,它希望我将它们写在单引号中。我想我周围有一堆引用错误。我重写了它,它工作了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2018-12-05
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多