例として次のデータがあります。
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 が見て、それらが他の項目と一致するかどうかを確認できるようにしたいと思います。たとえば、full の 4 行目に「bombay US mango」が含まれている場合、国は US と読む必要があり、bombay はタイプの下にあり、mango は名前の下にある必要があることを識別できます。
これは私がこれまでに持っているもので、アイテムが一致する場所を(論理的に)特定するだけです:
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)
})
私は少し立ち往生しています..私は多くの正規表現の投稿とrヘルプガイドを読みましたgrepl
が、優れた解決策を見つけることができません. 私が持っているものは、論理的な「一致」ベクトルを完全に識別していないため、if ステートメントをサブセット化して使用して異なる要素を連結することはできません。理想的には、私の fruit.region は実際にはデータ テーブルにあるため、これらの要素を data.table 形式で置き換えられるようにしたいと考えています。誰かが最善のアプローチについて何か提案はありますか?