【发布时间】:2017-07-14 07:01:05
【问题描述】:
一个特征是否与正则表达式匹配,我想使用匹配的值来填充一个新特征,否则不适用。
我找到了this 帖子并尝试使用答案来解决我的问题。
library(dplyr)
library(stringr)
dat.p <- dat.p %>%
mutate(
cad = ifelse(str_locate(text_field, "\\[[^]]*\\]"),
str_extract(text_field, "\\[[^]]*\\]"),
NA)
)
如果 text_field 中的正则表达式 \\[[^]]*\\] 匹配,则在新列 cad 中使用该值,否则将值设为 cad NA。
当我运行它时,我得到了错误:
Error: wrong result size (1000000), expected 500000 or 1
我该怎么做?
一些示例数据:
df <- data.frame(
id = 1:2,
sometext = c("[cad] apples", "bannanas")
)
df.desired <- data.frame(
id = 1:2,
sometext = c("[cad] apples", "bannanas"),
cad = c("[cad]", NA)
)
【问题讨论】: