0

我想从一个句子中提取一个单词并为该单词创建一个新列。

这是我到目前为止所做的。

Keyword <- "statistics|regression|logistic"

data_keyword <- data[grep(keyword, data$description, ignore.case = T),]

所以数据看起来像

id  description 
1   ~~~~~~statistics ~~~
2   ~~~~~~regression ~~~

我想创建一个新列,显示哪个单词导致 grep id 1 和 2。

所以我想要的看起来像下面

id  description  words
1   ~~~~~~statistics ~~~ statistics
2   ~~~~~~regression ~~~ regression

我想我可以使用 mutate 但不知道如何编码。任何想法都会有所帮助。

4

1 回答 1

0

您可能想使用sub

keys <- sprintf(".*(%s).*", keyword)

data$words <- sub(keys, "\\1", data$description)
data

#   id          description      words
# 1  1 ~~~~~~statistics ~~~ statistics
# 2  2 ~~~~~~regression ~~~ regression
于 2020-04-02T10:55:30.597 回答