【问题标题】:how to resolve Undeclared array referenced error in sas?如何解决 sas 中未声明的数组引用错误?
【发布时间】:2019-09-04 02:02:54
【问题描述】:

考虑以下代码:

data;
x=var{89,90,78,98,87,786,69,90,92,88};
y=std{89,90,78,98,87,76,69,90,92,88};
run;

我收到以下错误:

1 个数据; 2 x=var{89,90,78,98,87,786,69,90,92,88}; 错误:引用了未声明的数组:var。 错误:变量 var 尚未声明为数组。 3 y=std{89,90,78,98,87,76,69,90,92,88}; 错误:引用了未声明的数组:std。 错误:变量 std 尚未声明为数组。 4 次运行;

【问题讨论】:

    标签: sas


    【解决方案1】:

    在 SAS 中,函数的参数用括号括起来。

    试试

    data;
      x = var (89,90,78,98,87,76,69,90,92,88);   * Variance;
      y = std (89,90,78,98,87,76,69,90,92,88);   * Standard deviation;
    run;
    

    出现错误:消息是因为数组下标引用是使用方括号 ([])、花括号 ({}) 或圆括号 (()) 进行的。声明的数组名可以覆盖函数名,所以要小心。

    你的源代码

    x = var{89,90,78,98,87,786,69,90,92,88};
    

    实际上是在告诉 SAS 您要从 10 维 数组中检索一个值。

    如果您将of 添加到参数列表,函数也可以处理数组。

    data x;
        * initialize temporary array of 10 values;
        array m(10) _temporary_ (89,90,78,98,87,76,69,90,92,88);
    
        * measure the array of values;
        x = var (of m(*));
        y = std (of m(*));
    run;
    

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 2017-09-11
      • 1970-01-01
      • 2022-01-27
      • 1970-01-01
      • 2015-03-26
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多