从字符串变量创建虚拟变量

create dummy variable from string variable

我正在尝试从现有数据集中的列变量创建虚拟变量。我感兴趣的变量是这种格式的标题:

化学品 - 2015 年 3 月 31 日的委员会授权指令 (EU) 2015/863 修订了欧洲议会和理事会指令 2011/65/EU 的附件 II 关于限用物质清单(与 EEA 相关的文本)

委员会执行指令 (EU) 2015/2392...

我想创建一个虚拟变量来指示标题正在实施或委托。换句话说,当 "delegated" 这个词出现在我的 title 变量中时,它会被标记为 1,而其他所有内容都将被标记为 0。

谁能帮我解决这个问题?非常感谢。到目前为止,我已经使用了这个代码:

infringements$delegated <- ifelse(infringements$Title=="Delegated", 1, 0)
table(infringements$delegated, infringements$Title)  
summary(infringements$delegated)

当我 运行 代码时,我得到 0 个匹配项,即使我知道有 41 个匹配项。

使用包 stringr

中的 str_detect()
library(stringr)

as.integer(str_detect(infringements$Title,"Delegated"))
infringements = data.frame(lapply(data.frame(Title=c("CHEMICALS - Commission Delegated Directive (EU) 2015/863 of 31 March 2015 amending Annex II to Directive 2011/65/EU of the European Parliament and of the Council as regards the list of restricted substances (Text with EEA relevance)","No Text","Text3Delegated")), as.character), stringsAsFactors=FALSE)
infringements$delegated = lapply(infringements$Title, function(x) ifelse(length(grep("Delegated", x))!=0, 1, 0))

我们可以做到

+(grepl('Delegated', infringements$Title))