Мне нужно выполнить следующее как домашнее задание, и я изо всех сил пытаюсь найти правильный ответ:
Напишите функцию 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
.Я знаю, что что-то упустил.
Заранее спасибо за помощь.