У меня есть dataframe,
d<-data.frame(name=c("brown cat", "blue cat", "big lion", "tall tiger",
"black panther", "short cat", "red bird",
"short bird stuffed", "big eagle", "bad sparrow",
"dog fish", "head dog", "brown yorkie",
"lab short bulldog"), label=1:14)
Я бы хотел найти столбец name
, и если слова
"cat", "lion", "tiger" и "panther", я хочу присвоить символьную строку feline
новому столбцу и соответствующей строке species
.
Если появляются слова "bird", "eagle", and "sparrow"
, я хочу присвоить символьную строку avian
новому столбцу и соответствующей строке species
.
Если появляются слова "собака", "йорки" и "бульдог", я хочу присвоить символьную строку canine
новому столбцу и соответствующей строке species
.
В идеале я бы сохранил это в списке или что-то подобное, что я могу сохранить в начале script, потому что, поскольку новые варианты вида появляются в названии категории, было бы неплохо иметь доступ к обновлению, что соответствует feline
, avian
и canine
.
На этот вопрос почти ответили (Как создать новый столбец в dataframe на основе частичной строки, сопоставляющей другой столбец в R), но он не затрагивает множественные имя, которое присутствует в этой проблеме.