使用Grepl将值与R中的行相关联

时间:2018-04-17 12:20:13

标签: r regex grepl

考虑数据集

words <- c("un ou deux", "partout", "desktop","top cinema", "book", "best cover")
dataset <- data.frame(words)

看起来像这样:

       words
1 un ou deux
2    partout
3    desktop
4 top cinema
5       book
6 best cover

我的目标是根据字符串值将每行的值与一个类别相关联:

value1 <- c("top", "ou")
value2 <- c("best")

dataset$category[grepl(paste(value1,collapse = "|"),dataset$words)]="value1"
dataset$category[grepl(paste(value2,collapse = "|"),dataset$words)]="value2"

感谢grepl,我得到了这个输出:

       words category
1 un ou deux   value1
2    partout   value1
3    desktop   value1
4 top cinema   value1
5       book     <NA>
6 best cover   value2

我的问题:如果类别值不完全符合类别值,我不想将类别值与行相关联。例如,桌面不应与value1关联,因为“top”在“desktop”字符串中。你对如何制作这个有什么想法吗?谢谢你的帮助!

最终数据集应如下所示:

       words category
1 un ou deux   value1
2    partout     <NA>
3    desktop     <NA>
4 top cinema   value1
5       book     <NA>
6 best cover   value2

0 个答案:

没有答案