小编dno*_*oss的帖子

如何在数据框的其他列中的一列中搜索字符串

我有一个表,称之为df,有3列,第一个是产品的标题,第二个是产品的描述,第三个是一个单词的字符串.我需要做的是在整个表上运行一个操作,创建2个新列(称为'exists_in_title'和'exists_in_description'),它们具有1或0,表示第3列是否存在于第1列或第2列.我需要它只是一个1:1的操作,所以例如,调用行1'A',我需要检查单元格A3是否存在于A1中,并使用该数据创建列exists_in_title,然后检查是否A3存在于A2中,并使用该数据创建列exists_in_description.然后转到B行并进行相同的操作.我有数千行数据,所以一次一个地执行这些数据是不现实的,为每一行编写单独的函数,肯定需要一个函数或方法,一次性遍历表中的每一行.

我玩过grepl,pmatch,str_count,但似乎没有真正做我需要的东西.我认为grepl可能是最接近我需要的,这里是我编写的2行代码的例子,它逻辑上做了我想要的,但似乎不起作用:

df$exists_in_title <- grepl(df$A3, df$A1)

df$exists_in_description <- grepl(df$A3, df$A2)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我收到以下消息,这使我相信它无法正常工作:"参数'模式'的长度> 1,只使用第一个元素"

任何有关如何做到这一点的帮助将不胜感激.谢谢!

string r string-matching dataframe grepl

7
推荐指数
1
解决办法
5375
查看次数

标签 统计

dataframe ×1

grepl ×1

r ×1

string ×1

string-matching ×1