R: agrep ошибка при замене строки другой строкой
После большого количества проб / ошибок и функции поиска я все еще не понимаю, что такое простая мысль (как всегда, hrmpf):
У меня есть столбец в кадре данных x$question
и в этом столбце есть выражение 'A/V'
время от времени, и я просто хочу, чтобы это было изменено на 'A / B'
,
Я попытался немного здесь и там, и подумал, что это должно работать:
x$question[agrep('A/V',x$question)]<-'A / B'
но я получаю ошибку:
In `[<-.factor`(`*tmp*`, agrep('A/V', :
invalid factor level, NAs generated
или я мог бы сделать это
agrep('A/V','A / B', x$question).
Но здесь я получаю ошибку:
Error in .amatch_bounds(max.distance) :
match distance components must be non-negative
Так как у меня совершенно нет идей, я был бы очень благодарен, если бы у вас были предложения, или, возможно, даже более простой способ замены строки другой строкой.
1 ответ
Решение
Это работает?
gsub("A/V","A/B",x$question)
Пример:
x<-c("A/V", "A/V", "A/V")
x<-gsub("A/V","A/B",x)
>x
[1] "A/B" "A/B" "A/B"
Примечание: вы можете использовать ifelse
за это тоже.
> ifelse(x=="A/B","A/V",x)
[1] "A/V" "A/V" "A/V"