次の変数があると仮定します。
a <- c('one','two','three')
b <- c('one|on','two|wo',"three|thre")
c <- c('there is one','there one is ','there is one three two')
そして、次の結果を持つ新しい変数が必要です。
d
[1] "one" "one" "three"
私がやろうとしているのは、たとえばone
orという単語on
がテキストに含まれているかどうかを確認one
し、新しい変数に新しい値を割り当てることですd
。a
また、階層に複数の値がある場合は、最後の値から取得する必要があります。
私にできることは次のとおりです。
d <- list()
d[grepl(b[1],c)] <- a[1]
d[grepl(b[2],c)] <- a[2]
d[grepl(b[3],c)] <- a[3]
d <- unlist(d)
単純なループでも同じことができます。しかし、他にもっとエレガントな方法はありますか?