我正在尝试添加一个新列keywords
这将得到价值TRUE
如果该单词出现在关键字列表中。该值将是FALSE
如果该词没有出现在keywordslist
。我的关键字由 100 多个单词组成,因此无法手动添加单词。
关键字列表(示例):
thank
impressed
this
我有一个包含值的数据框id
and word
,我取消了单词的嵌套并按 id 分组:
id word
1234 thank
1234 you
1234 very
1234 much
1567 i
1567 am
1567 not
1567 impressed
9654 what
9654 is
9654 this
我希望结果看起来像这样:
id word keywords
1234 thank TRUE
1234 you FALSE
1234 very FALSE
1234 much FALSE
1567 i FALSE
1567 am FALSE
1567 not FALSE
1567 impressed TRUE
9654 what FALSE
9654 is FALSE
9654 this TRUE
我尝试过的代码如下:
1.:
df <- df %>%
group_by(id) %>%
mutate(keywords = ifelse(
word == rowwise(keywordslist), TRUE, FALSE)
代码 #1 引发下一个错误:
mutate_impl(.data,dots) 中的错误:评估错误:
is.data.frame(data) 不为 TRUE。
-
我用 grepl 尝试了一些不同的变体:
df <- df %>%
group_by(id) %>%
mutate(keywords = ifelse(
word == rowwise(grepl(keywordslist, word)), TRUE,FALSE)
这引发了以下错误:
mutate_impl(.data,dots) 中的错误:评估错误:
is.data.frame(data) 不为 TRUE。另外:警告消息:在
grepl(keywordslist, keywords) :参数“pattern”的长度> 1
并且只使用第一个元素
我不确定这是否是处理这种情况的正确方法。欢迎任何帮助。
df$keywords <- df$word %in% keywordslist
应该这样做
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)