首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数组创建地址列表

从数组创建地址列表
EN

Stack Overflow用户
提问于 2016-04-09 01:33:29
回答 1查看 99关注 0票数 1

我试图在SAS中创建一个模糊匹配算法,但我被困在创建所有可能的地址选项列表的机制上。

我想创建一个通用地址字符串的列表,例如,St、街道、大道、大道等。

然后获取地址,如果字符串中的任何单词与公共地址字符串列表匹配,则创建该地址的所有可能场景。

举个例子:

北大街101号将转换为:北大街101号北大街101号北大街101号北大街101号北大街

我可以对此进行小规模的编程,但当我想在列表中包含大约100个常用地址字符串时,就不能这样做了。

EN

回答 1

Stack Overflow用户

发布于 2016-04-09 02:21:27

我会把常见的东西列表(ST->街道等)转换成一种格式。然后,您可以通过使用PUT和PUTting创建数组(或者,可能是垂直数据集),使用该格式的各种字,如果返回非null,则将新的位放入新的数组元素中。

类似于:

步骤1.创建包含您关系的excel文件

Step2.导入excel文件,使用PROC format CNTLIN=选项导入为某种格式,hlo=o为‘’(其他选项)

步骤3.在datastep中应用,如下所示:

代码语言:javascript
复制
data want;
  set have;
  do _i = 1 to countw(address);
    *use CALL SCAN to find position of i'th word and extract to _ADDCHECK;
    *use PUT with format created in step 2 to see if it matches;
    if _addcheck ne ' ' then do;
      *use CALL SCAN results combined with SUBSTR to put _ADDCHECK back in;
      output; *or store in an array if you prefer;
    end;
  end;
run;

然后你就有了非常灵活的东西。

另一种仍然适用于格式的选择是将地址分割成单独的单词,然后使用PROC TABULATE和格式和多标签选项(hlo='m')来生成更大的列表(这将必须是多行,至少在一开始是这样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36505909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档