2013-08-06 6 views
1

Я унаследовал проект r, у которого есть dataframe с усеченными текстовыми строками. Основываясь на некоторых ответах на этом форуме, я пробовалR Заменить слово в строке

temp$taname2 <- gsub("\bDistr\b", "District", temp$taname2) 

Это не помогло. Я попытался

temp$taname2 <- gsub("Distr", "District", temp$taname2) 

, но это привело к строкам, уже содержащие слово «округ» изменяется на «Districtic», «Districtict», или аналогичный. Я также пробовал

temp$taname2[grep("\bDistr\b",temp$taname2)] <- "District" 

но, увы, не повезло.

Я понимаю, что ответ смехотворно прост, но я не смог решить, как это сделать.

Заранее спасибо.

ответ

2

Вам необходимо использовать регулярные выражения, а также функцию gsub. Я думаю, на этот вопрос ответил: In R, replace text within a string

Надеюсь, это поможет.

0

Используйте stringi пакет:

require(stringi) 

mydf<-data.frame(c("\bDistr\b", "\bDistr\b", "\bDistr\b", "\bDistr\b")) 
stri_replace_all(mydf[,1], "", fixed="\b") 
[1] "Distr" "Distr" "Distr" "Distr" 
Смежные вопросы