【发布时间】:2016-12-14 14:14:42
【问题描述】:
我的数据集中有几个(确切地说是 55 个)变量是大块文本。这些变量包含某些医疗程序的结果。
我正在尝试将索引函数与 SAS 中的数组结合使用,以识别在 55 个结果变量中的一个或多个中存在某些关键词的观察结果。例如,出现“REPAIR”这个词的地方。
data c1;
set c;
array res results1-results55;
array outres _numeric_;
do i= 1 to dim(outres);
outres(i) = index(res(i), "REPAIR");
end;
run;
当只有一个变量被索引时,我可以让我的代码工作;但是,当尝试使用数组查看单词“REPAIR”的所有 55 个结果变量时,它会中断。我收到以下错误:
ERROR: Array subscript out of range at line 1338 column 19.
关于如何调试这个有什么想法吗?
谢谢!
【问题讨论】:
-
是不是需要为outres数组指定维度? dim(outres) 的结果是什么?
-
我认为可能是这样。但我不确定外部尺寸大小可能是多少。
-
啊哈!是的,一旦我指定了创建 res1-res55 的 outres,它似乎至少在一开始就可以工作。一目了然。
标签: arrays string indexing sas