我将以下数据作为示例:
fruit.region <- data.frame(full =c("US red apple","bombay Asia mango","gold kiwi New Zealand"), name = c("apple", "mango", "kiwi"), country = c("US","Asia","New Zealand"), type = c("red","bombay","gold"))
我希望R能够查看&#34; full&#34;中的其他项目。 (名称)列没有&#34; name&#34;,&#34; country&#34;和&#34;键入&#34;并查看它们是否与其他物品相匹配。例如,如果完全有第四排用#34;轰炸美国芒果&#34;它将能够确定该国应该读取美国,孟加拉应该是类型,芒果应该是名称。
这是我到目前为止所做的,它只是(逻辑上)识别项目匹配的位置:
new.entry <- c("bombay US mango")
split.new.entry <- strsplit(new.entry, " ")
lapply(split.new.entry, function(x){
check = grepl(x, fruit.region, ignore.case=TRUE)
print(check)
})
我有点停滞......我已经阅读了grepl
上的一些正则表达式帖子和r帮助指南,但我找不到一个好的解决方案。我所拥有的并不能完全识别出一个符合逻辑的#34;匹配&#34; vector,所以我无法使用if语句进行子集化并使用if语句来连接不同的元素。理想情况下,我希望能够以data.table形式替换这些元素,因为我的fruit.region实际上将在数据表中。有没有人对最佳方法有任何建议?