R统计另一行字符串中出现的行字符串值
在R语言中,寻找一个函数来计算一行值(完整字符串)在另一行值中的出现次数 例如:数据表dfR统计另一行字符串中出现的行字符串值,r,R,在R语言中,寻找一个函数来计算一行值(完整字符串)在另一行值中的出现次数 例如:数据表df df$SerachingFor df$Target df$SearchTermOccurrencesInTarget (required field) Machine rowing machine rowing has two values 1 handy tools handy tools, we have
df$SerachingFor df$Target df$SearchTermOccurrencesInTarget (required field)
Machine rowing machine rowing has two values 1
handy tools handy tools, we have many handy tools 2
plans home plans, garden plans, DIY plans 3
hospital home ideas 0
感谢您的时间以下是一种利用
stringr
库功能的方法。注意,我将这两列转换为所有小写字母,因为您的示例暗示不区分大小写的匹配
library(stringr)
df$SerachingFor <- tolower(df$SerachingFor)
df$Target <- tolower(df$Target)
df$SearchTermOccurrencesInTarget <- str_count(df$Target, df$SerachingFor)
df
SerachingFor Target SearchTermOccurrencesInTarget
1 machine rowing machine rowing has two values 1
2 handy tools handy tools we have many handy tools 2
3 plans home plans garden plans DIY plans 3
4 hospital home ideas 0
库(stringr)
df$SerachingFor这里是一种使用stringr
库函数的方法。注意,我将这两列转换为所有小写字母,因为您的示例暗示不区分大小写的匹配
library(stringr)
df$SerachingFor <- tolower(df$SerachingFor)
df$Target <- tolower(df$Target)
df$SearchTermOccurrencesInTarget <- str_count(df$Target, df$SerachingFor)
df
SerachingFor Target SearchTermOccurrencesInTarget
1 machine rowing machine rowing has two values 1
2 handy tools handy tools we have many handy tools 2
3 plans home plans garden plans DIY plans 3
4 hospital home ideas 0
库(stringr)
df$serachingf感谢您的回答,但是在stri_count_regex(string,pattern,opts_regex=attr(pattern,pattern):regexp模式中的语法错误(U_regex_RULE_Syntax)-这里有任何帮助吗?您可以使用with(df,str_count)(tolower)在不更改原始数据的情况下保存几行代码的情况下完成此操作(Target),tolower(SerachingFor))
。Richard,谢谢你的回答,但是在stri\U count\U REGEX(string,pattern,opts\U REGEX=attr(pattern,:regexp模式中的语法错误)中得到了一个错误。有什么帮助吗?请将您的列读取为因子?如果有,请将数据框列更改为as.character
。在更完整的数据集中,也可能有一些字符导致了问题。我无法重现该问题。也许您可以打印该列中的唯一字符,看看会发生什么。谢谢您的回答,但是,在stri_count_regex中将错误作为错误获取(string,pattern,opts_regex=attr(pattern,:regexp模式中的语法错误)(U_regex_RULE_语法)-这里的任何帮助都可以做到,而无需更改原始数据,并保存几行代码,使用(df,str_count(tolower(Target),tolower(SerachingFor)))
.Richard,谢谢你的回答,但是在stri\U count\U REGEX中出现了一个错误U\U REGEX\U RULE\U语法错误(字符串,模式,opts\U REGEX=attr(模式,:regexp模式中的语法错误。(U\U REGEX\U RULE\U语法)。有什么帮助吗?请将列读取为因子?如果有,请将数据框列更改为as.character
。在更完整的数据集中,可能还有一些字符导致了问题。我无法重现该问题。也许您可以打印该列中的唯一字符,看看可能发生了什么。哦,看起来像是d我不喜欢我的问题,但在stri\U count\U regex中尝试以下答案时出错(字符串、模式、opts\U regex=attr(模式:regexp模式中的语法错误)。(U\U regex\U RULE\U语法)哦,看起来有人不喜欢我的问题,但在stri\U count\U regex中尝试以下答案时出错(字符串,模式,opts_regex=attr(模式,:regexp模式中的语法错误。)