【发布时间】:2021-12-05 21:15:08
【问题描述】:
我有一个变量,其中观察将由一个人放入各种注释。任何给定观察中的一些词都可能是需要跟踪的关键词。
如果我有一个关键词列表,是否有一种简化的方法可以从该列表中创建变量,然后搜索现有的观察结果以标记该词是否在其中?一个额外的组成部分是,由于人为因素,不能指望单词按特定顺序排列,或者可能会省略空格等分隔符,字母大写/小写。也有可能像“航班”这样的词可能缺少“s”。因为关键字可能会发生变化,是否还有一种方法可以对其进行编码,以便将单词创建为可以更新的值,然后重新运行以更新变量?
在关键字列表下方的df中,我正在寻找abc、xyz、航班。
df <- read.table(text =
"ID Notes
ID-0001 'ABC project xyz'
ID-0002 'XYZ'
ID-0003 'ABCschedule flightsok test'
ID-0004 'flight, abc'
ID-0005 'normal notes no key'", header = T)
所需的输出如下所示:
desired.output <- read.table(text =
"ID Notes abc xyz flights
ID-0001 'ABC project xyz' 1 1 0
ID-0002 'XYZ' 0 1 0
ID-0003 'ABCschedule flightsok' 1 0 1
ID-0004 'flight, abc' 1 0 1
ID-0005 'normal notes no key' 0 0 0 ", header = T)
我发现了这个类似的问题,但它并不是我想要的,因为变量名是从观察中的每个单词创建的。 R: Splitting a string to different variables and assign 1 if string contains this word
感谢您的帮助!
【问题讨论】: