【问题标题】:SPSS issue with RENAME VARIABLES重命名变量的 SPSS 问题
【发布时间】:2016-12-06 20:06:36
【问题描述】:

我的语法很长(1800 行),这一部分给我带来了麻烦。我一生都无法弄清楚我做错了什么。

它应该采用现有文件并将其缩小到仅 /KEEP 语句中列出的变量。然后每个变量都被重命名为类似的变量名,但“oldxxxx”。后来我的语法将新文件与这个更新的变量文件匹配,并指出值的任何变化,并在重新编码的文件中给出原因列表。

一旦语法到达第一个重命名变量,我会收到以下错误:

重命名变量 重命名中的变量名称重复。

提前谢谢你!

【问题讨论】:

  • SAVE 命令不会改变活动数据集,它只会从它创建的新 sav 文件中删除一些变量。如果你运行类似ADD FILES FILE = * /KEEP [VARS HERE]. 的东西,将相同的变量放在KEEP 子命令上,然后EXECUTE. 你活动的数据集应该与保存的文件具有相同的变量。
  • 您可以使用 DELETE VARIABLES 命令使语法更清晰,该命令对活动文件进行操作。
  • 我建议您在第一个 RENAME VARIABLES... 之前再次使用 GET FILE='LastAwardingFile.sav(or newfilename. sav) '. DATASET NAME LastAwardingFile WINDOW=FRONT. 但如果使用旧文件名,则应该覆盖。

标签: unicode syntax spss


【解决方案1】:

首先要注意几点:最好保存为不同的文件名。在您的语法中,原始文件被保存并且您无法返回......另外,我建议您遵循@Andy W 关于如何仅在文件中保留您需要的变量的建议。

现在,在您发布的示例语法中,我看到一个错误 - 可能是您的问题:

RENAME VARIABLES (total_EMFASYS_award=oldgrant).

新名称改为oldgrantoldtotal_EMFASYS_award。可能再往下,你有另一个命令说

RENAME VARIABLES (grant=oldgrant).

因此是双重名称。

为避免此类错误并缩短语法,您可以使用以下宏:

define renVars (!pos=!cmdend)
rename variables 
!do !i !in (!1) !i = !concat("old",!i)
!doend .
!enddefine.

运行此宏定义后,您可以通过说明宏名称和要重命名的变量的完整列表来运行宏,如下所示:

renVars 
Student_ID rl_highschoolgpa comb need qualitygrp NewUpfrontGrant meritgrant 
targetcounty_housing housinggrant  tuitiongrant athlete_recruit .

【讨论】:

    【解决方案2】:

    关于RENAME VARIABLES 命令需要注意的一点——它也可以这样工作:

    RENAME VARIABLES (list_of_starting_variable_names = list_of_final_variable_names).
    

    您只需要提供 2 个名称列表,重命名将按照提供名称的顺序进行(列表 1 中的第一个变量被重命名为列表 2 中的第一个变量,... n-将列表 1 中的第 th 个变量转换为列表 2 中的第 n 个变量...等等。

    这应该可以避免您遇到的Duplicate Variable Names 错误,因为所有重命名都是一次性完成的。但是会要求您稍微更改原始语法,并且很难发现哪个变量被重命名为哪个变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多