查找各种字符串的功能

时间:2018-12-13 15:51:14

标签: r string user-defined-functions

作为家庭作业,我需要做以下事情,我正在努力寻找正确的答案:

编写一个函数find.names(),它带有两个参数:df,一个数据帧,带有 栏名称和文字;和str,一个字符串。您的函数应找到所有维基百科条目 (在df$text中)包含单词str,忽略字符的大小写,并返回相应的 个人的名称(在df$names中,作为按字母顺序排序的字符串向量。对于 例如,find.names(wiki, "Carnegie Mellon")应该返回c("Alan Fletcher (composer)", "John Tarnoff", "Joshua Bloch")

这是我的起始代码:

find.names = function(df,str){
grep("str|Str", df$text, value=TRUE)
return(df$names)
}

str是否需要用引号引起来?我不确定该怎么说。还是for循环?我尝试列出的示例find.names(wiki, "Carnegie Mellon),它返回NULL。我知道我缺少什么。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我们可以在ignore.case = TRUE中使用grep

find.names = function(df, str){
     df$name[grep(str, df$text, ignore.case = TRUE)]

   }

find.names(wiki, "Carnegie Mellon")