各位大神,遇到一个问题:
问题背景:A是一列收货地址,B是一列小区地址;通过切词词包jiebaR把A、B分别切成词组,并读入R为变量a,b。
想实现的算法:
用intersect函数算出a的第一行与b的第一行的交集,用length函数算出交集的长度,如果大于等于4个词,则把a[1]与b[1]通过行连接连成一行,记做变量c的第一行;如果小于4个词,则算a[1]与b[2]的交集...直到遍历b的所有行,若仍没有符合条件的,则把a[1]与NULL连成一行,记做变量c的第一行。
然后用a[2]与b[1]匹配,还用上面的逻辑。结果为记为变量c的第二行。
最后输出c。
我瞎写了一个循环,没法work,求高手指点下,非常感谢:
a<-list_left[1]
while
(j<-nrow(list_left))
{
b <-list_right[1];
while (n<4) {
i=i+1;
n <-intersect(a,b);
}
b <-list_dictionary;
c<-cbind(a,b);
j=j+1;
a <-list_right[j];
}
c