sas - 如何解决sas中未声明的数组引用错误?
问题描述
考虑以下代码:
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 中,函数的参数用括号括起来。
尝试
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;
出现 ERROR: 消息是因为数组下标引用是使用方括号 ( []
)、花括号 ( {}
) 或圆括号 ( ()
) 进行的。声明的数组名可以覆盖函数名,所以要小心。
你的源代码
x = var{89,90,78,98,87,786,69,90,92,88};
实际上是告诉 SAS 你想从一个10 维数组中检索一个值。
如果将 a 添加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;
推荐阅读
- string - 在 Chisel 中传递字符串
- python - 如何通过 ctypes 将(非空)列表从 Python 传递到 C++?
- r - 防止 kableExtra 横向表中的分页符
- jms - weblogic中的publishJms nifi jms服务器
- android - WorkManager 中需要上下文
- android - 在 reycler 视图中从大数据中设置有限数据
- ruby - 在 Ruby 中从带有标题的 CSV 加载数据
- xamarin.forms - 如何将 Steam 字符串“Xamarin.Forms.StreamImageSource”转换为图像源
- powershell - 用于从另一个脚本创建新任务序列的 Powershell 脚本
- ruby-on-rails - 如何从应用程序控制器中呈现带有错误的 json?