【问题标题】:Selecting variables in a dataset according to values in another dataset根据另一个数据集中的值选择数据集中的变量
【发布时间】:2019-06-17 00:01:05
【问题描述】:

我想为一个包含大约 100 个变量的数据集创建一个子集,并且我希望只保留那些在另一个数据集中作为另一个变量的值存在的变量。有人可以帮助我使用 SPSS 语法吗?

它应该是这样的:

DATASET ACTIVATE basedataset.
SAVE OUTFILE ='Newdata.sav'
/KEEP Var1.

Var 1 是另一个数据集中的变量,它包含我想要执行子集的所有值。我不确定是否应该涉及向量或者是否有更简单的方法来做到这一点。

【问题讨论】:

    标签: macros spss


    【解决方案1】:

    以下将创建一个包含您需要的变量列表的宏,用于您的分析或数据子集化。

    首先,我将创建一些示例数据来演示:

    data list free /v1 to v10 (10f3).
    begin data
    1,2,3,2,4,7,77,777,66,55
    end data.
    dataset name basedataset.
    
    data list free/var1 (a4).
    begin data
    "v3", "v5", "v6", "v9"
    end data.
    dataset name varnames.
    

    现在创建列表:

    dataset activate varnames.
    write out="yourpath\var1 selection.sps" 
        /"VARIABLE ATTRIBUTE VARIABLES= ", var1, " ATTRIBUTE=selectVars('yes')." .
    exe.
    
    dataset activate basedataset.
    VARIABLE ATTRIBUTE VARIABLES=all  ATTRIBUTE=selectVars('no').
    insert file="yourpath\var1 selection.sps".
    SPSSINC SELECT VARIABLES MACRONAME="!varlist" /ATTRVALUES NAME=selectVars VALUE = yes .
    

    列表现已准备就绪,可以在任何命令中使用宏名称!varlist 调用,例如:

    freq !varlist.
    

    SAVE OUTFILE ='Newdata.sav' /KEEP !varlist.
    

    【讨论】:

      猜你喜欢
      • 2017-01-10
      • 2019-01-17
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 2013-09-05
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多