【问题标题】:spss search for value in datasetspss在数据集中搜索值
【发布时间】:2017-12-08 17:06:22
【问题描述】:

我想在 SPSS 数据库的任何单元格中查找任何值(例如 0)的情况。什么语法可以做到这一点?

(我遇到了一个 python 脚本,但没有那个选项。)

【问题讨论】:

  • 您至少可以发布数据结构吗?此外,在 stackoverflow 上,表明您实际上正在尝试某些东西是一个好主意,因此请发布您的尝试。 stackoverflow.com/help/mcve
  • 迄今为止的尝试非常耗费人力:1. 对每一列进行排序,查看是否出现任何 0 值 2. 使用 explore 函数检查每个变量的 0 值 3. 使用 find 和替换为 0 值,但这会返回任何带有 0 的数字(即使尝试使用“整个单元格”选项也不适用于查找只有 0 的单元格)
  • 数据结构是什么?你有哪些专栏?
  • 数据在第 1 列中设置为参与者 ID,然后在其余列中设置(许多)测试的分数。例如,第 1 行的 ID_001,第 2 行的得分为 15,第 3 行的另一个得分为 3,依此类推。对于数据导入应该为空但为 0 的情况,我想找到所有 0 值而是添加了,这将影响任何分析。因为我有这么多列的测试数据,希望能找到一个高效的搜索功能。
  • 所以所有的 0 都应该为空?

标签: full-text-search spss


【解决方案1】:

目前还不是很清楚你想如何选择这些案例。但是下面的语法将在输出中列出在任何变量var1var2var3 中至少有一个“0”的任何情况。我假设 CaseID 是案例标识符变量。

TEMPORARY.
SELECT IF ANY(0,var1,var2,var3).
LIST CaseID var1 var2 var3.

您可以在ANY 函数以及LIST 命令中使用任意数量的变量。

【讨论】:

    【解决方案2】:

    以下语法将在您的数据中创建 0 的出现列表 - 在单独的文件中:

    首先创建一些假数据进行演示。

    data list list/ID (a6) test1 to test6 (6f2).
    begin data
    ID_001 2 3 2 3 0 3
    ID_002 3 4 0 4 3 4
    ID_003 0 4 2 4 2 4
    ID_004 7 0 1 2 8 3
    ID_005 5 5 5 0 5 5
    ID_006 4 5 4 5 4 0
    end data.
    dataset name origData.
    

    现在创建列表:

    dataset copy ForList.
    dataset activate ForList. /* the list will be created from a copy of the data.
    varstocases /make vals from test1 to test6/index testNum(vals).
    select if vals=0.
    

    您可以在新文件中使用列表,也可以将其放在输出窗口中:

    list ID testNum.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      相关资源
      最近更新 更多