我有一个列,其中包含一系列针对每个客户的产品,我希望在另一列中使用0或1进行识别。以下是一个示例:
products <- c("APV", "SAPV, APV", "SCA, FFMM, APV", "SCA, SAPV", "FFMM, APV", "FFMM", "SCA, SAPV, APV", "SCA, SAPV, FFMM, FFAC", "SCA, FFMM", "SAPV", "SCA", "SCA, APV", "SAPV, FFMM", "SCA, SAPV, FFMM, APV", "SAPV, FFMM, APV")
我想创建一个列名APV,用于标识列表中是否有APV,但只有“APV”,如果我只是使用
grepl("APV", products)
它还将识别SAPV。
我知道这是一个相对简单的问题,但我无法使其发挥作用
答案 0 :(得分:1)
你需要像这样的单词边界
products <- c("APV", "SAPV, APV", "SCA, FFMM, APV", "SCA, SAPV", "FFMM, APV", "FFMM", "SCA, SAPV, APV", "SCA, SAPV, FFMM, FFAC", "SCA, FFMM", "SAPV", "SCA", "SCA, APV", "SAPV, FFMM", "SCA, SAPV, FFMM, APV", "SAPV, FFMM, APV")
grepl("\\bAPV\\b", products)
哪个收益
[1] TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE