gpt4 book ai didi

r - 在 R 中使用字符列替代嵌套 ifelse

转载 作者:行者123 更新时间:2023-12-04 07:24:27 25 4
gpt4 key购买 nike

我的 df 有一个评论列,我需要使用关键字在评论中搜索多个名称(他的评论有很多不相关的信息,不一定提供全名) - 能够使用嵌套的 ifelse 完成此操作,但有一个限制50 个用于嵌套,我的列表已增长到 200 多个名称,因此代码看起来很乏味,我不想每次都编辑代码(相反,我想上传一个包含名称列表和关键搜索词的 excel)
我目前正在使用此声明 - 它应该清楚地了解相关列包含的内容

comdata$name <- ifelse(grepl('jen',comdata$comments),'Jennifer A',
ifelse(grepl('rick',final_DM$comments) | grepl('richard',final_DM$comments) ,'richard',
ifelse(grepl('summ',comdata$comments),'Summer','Others'))))

如果我创建名称列表和可能的“关键”搜索词,是否可以通过循环或其他方式执行此操作?
基本上我需要正确的语法来编写下面的代码 - 它只是为 comdata$name 中的大多数行提供其他:
 comdata$name< - ifelse(comdata$comments %like% name_list$Key.1, name_list$FullName, 'Other')

最佳答案

创建一个 key/val 数据集并使用 regex_left_join

keyval <- data.frame(comments = c("jen", "rick"),
name = c("Jennifer A", "richard"))
library(fuzzyjoin)
regex_left_join(comdata, keyval, by = "comments")

关于r - 在 R 中使用字符列替代嵌套 ifelse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68293348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com