У меня есть простой фрейм данных:
> var_body_part <- c("eye and nose", "eye", "eye and ear", "eye and mouth", "foot", "foot", "ear", "ear", "foot", "mouth")
> var2 <- c("bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla")
> temp_df <- data.frame(var_body_part, var2)
Итак, мои данные:
> temp_df
var_body_part var2
1 eye and nose bla
2 eye bla
3 eye and ear bla
4 eye and mouth bla
5 foot bla
6 foot bla
7 ear bla
8 ear bla
9 foot bla
10 mouth bla
Каждый раз, когда я нахожу «глаз», я хочу заменить строку на HEAD, т. Е. (см. первые 4 строки)
var_body_part var2
1 HEAD bla
2 HEAD bla
3 HEAD bla
4 HEAD bla
5 foot bla
6 foot bla
7 ear bla
8 ear bla
9 foot bla
10 mouth bla
Это должно быть просто ... Я выбираю строки, на которые влияет преобразование, с помощью
temp_df$var_body_part[grep("eye", temp_df$var_body_part) ]
, однако я не могу найти правильный оператор для заменыих с правильным значением "ГОЛОВА".
Пока с моими попытками я получаю много
invalid factor level, NA generated
Кто-нибудь может помочь?