【问题标题】:Variable Name in SASSAS 中的变量名
【发布时间】:2015-04-30 22:26:43
【问题描述】:

我有一个名为 A_flag (1=Y,0=N) 的变量名。但是,当我尝试重命名此变量时,SAS 说它找不到该变量。

变量名是 A_flag (1=Y,0=N) 还是 A_flag

【问题讨论】:

  • 变量名不能包含字母数字和下划线以外的字符。上下文是什么,即您如何定义和引用它?
  • @AlexA.:在 proc 内容过程中,变量名称是 A_flag(1=Y, 0=N),我正在尝试使用此变量执行统计测试。
  • 你确定这不是变量label而不是变量name吗?那不可能是变量名。
  • @AlexA.: 我如何获得变量名?
  • 执行ods select variables;,然后在您的数据集上运行proc contents。变量名称应列在变量列(表中最左列)中,标签(如果有)应列在标签列(表中最右列)中。

标签: sas


【解决方案1】:

如果变量名真的是“A_flag (1=Y,0=N)”,那么你需要将它称为“A_flag (1=Y,0=N)”n。 例如:

proc freq;
    tables "A_flag (1=Y,0=N)"n;
run;

您需要设置 validvarname=any 选项才能使其工作。

【讨论】:

    【解决方案2】:

    这很可能是一个变量label,而不是一个变量name。如果您使用的是显示管理器 SAS(不是 Enterprise Guide),请在打开数据集时进入“查看”菜单,然后选择“列名称”而不是“列标签”。这将显示真正的变量名称。

    如果它是一个变量名,它可能来自 Enterprise Guide 的默认设置 options validvarname=any 和一个从 Excel 导入的过程。如果是这种情况,我建议添加到您的配置文件或仅添加到程序的第一行:

    options validvarname=v7;
    

    然后再次运行proc import,它将正确地将名称导入为合法的 SAS 变量名称,而无需 Stig 引用的名称文字语法(这也是一个很好的解决方案,但使用它可能很乏味。)

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 2019-12-01
      • 1970-01-01
      相关资源
      最近更新 更多