Para realizar a mesma tarefa com números, você não precisa utilizar aspas ("")
dados$numero <- gsr(dados$numero, 5, 10 ) dados Daniel 2013/4/22 Daniel Marcelino <dmarcel...@live.com> > A solução apresentada pelo Rodrigo é muito mais fácil uma vez que você > sabe a localização (a linha da observação) onde aparece "FATIMALIMA". No > entanto, a minha função foi pensada na possibilidade de você não saber > exactamente onde se encontra as observações, por exemplo, num data frame > muito grande. > Como você não passou um exemplo reproduzível, vou mostra aqui da seguinte > forma: > > > > nome <- rep("FATIMALIMA", 10) > numero <- seq(1:10) > dados <- data.frame(nome, numero) > > > gsr <- > function(file, search, replace) { > if (length(search) != length(replace)) stop("The object search and > replace must have the same number of items \n") > changing <- as.character(file) > > for (i in 1:length(search)) > { > cat("Replacing: ", search[i], " with: ", replace[i], "\n") > changed <- replace(changing, changing == search[i], replace[i])} > > cat("\n") > return(changed) > } > > > # onde na coluna "nome" for FATIMALIMA a função vai substituir pro FATIMA > LIMA. > Veja os argumentos; file, search, replace. > > dados$nome <- gsr(dados$nome, "FATIMALIMA", "FATIMA LIMA" ) > > > > > 2013/4/22 Rodrigo Coster <rcos...@gmail.com> > >> Fatima, de maneira genérica, para mudar a j-ésima variavel (coluna) da >> i-ésima observação (linha), tu pode usar >> dados[i, j] <- NOVO VALOR >> >> O que tu precisa é identificar os i (as linhas), dado que o j (a variavel >> que tu quer mudar) já é algo sabido. >> >> >> >> 2013/4/22 Fátima Lima Paula <fatima.lima.pa...@gmail.com> >> >>> Daniel, não entendi. >>> Por exemplo, na linha 345 eu quero trocar 20081003 por 20081005. >>> Como faço com essa função? >>> >>> >>> Em 22 de abril de 2013 14:38, Daniel Marcelino >>> <dmarcel...@live.com>escreveu: >>> >>> Eu sei que essa função é imensa e que há formas melhores de fazer isso. >>>> Uso uma função para fazer isso. Primeiro passo a função no prompt: >>>> >>>> gsr <- >>>> function(file, search, replace) { >>>> if (length(search) != length(replace)) stop("The object search and >>>> replace must have the same number of items \n") >>>> changing <- as.character(file) >>>> >>>> for (i in 1:length(search)) >>>> { >>>> cat("Replacing: ", search[i], " with: ", replace[i], "\n") >>>> changed <- replace(changing, changing == search[i], replace[i])} >>>> >>>> cat("\n") >>>> return(changed) >>>> } >>>> >>>> >>>> Daí é só passar o que você quiser: >>>> >>>> dados$coluna <- gsr(dados$coluna, "FATIMALIMA", "FATIMA LIMA" ) >>>> >>>> >>>> >>>> 2013/4/22 Fátima Lima Paula <fatima.lima.pa...@gmail.com> >>>> >>>>> Pessoal, quando fui substituir uns nomes no meu banco, usei >>>>> levels(banco$nome) <- gsub("FATIMALIMA", "FATIMA LIMA", >>>>> levels(banco$nome)) >>>>> Agora o problema é outro, tenho uma linha com nome, data de >>>>> nascimento, data de internação, motivo da alta etc. >>>>> Em uma específica linha, quero trocar o motivo da alta e a data da >>>>> internação. Não posso usar o comando acima pois existe um monte de outros >>>>> motivos de saida 21, por exemplo, e eu só quero substituir para a FATIMA >>>>> LIMA. >>>>> Alguém, por favor, pode me ajudar? >>>>> Obrigada >>>>> >>>>> >>>>> _______________________________________________ >>>>> R-br mailing list >>>>> R-br@listas.c3sl.ufpr.br >>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>>>> código mínimo reproduzível. >>>>> >>>> >>>> >>>> >>>> -- >>>> \begin{signature} >>>> Daniel Marcelino >>>> ☁ dm.si...@umontreal.ca >>>> ☎ (514) 343 6111 #3799 >>>> Skype: d.marcelino >>>> ✎ 3200 Jean Brillant, Office C5071 >>>> Montreal, QC; H3T 1N8 >>>> Canada >>>> \end{signature} >>>> >>>> "Small steps toward a much better world" >>>> >>>> _______________________________________________ >>>> R-br mailing list >>>> R-br@listas.c3sl.ufpr.br >>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>>> código mínimo reproduzível. >>>> >>> >>> >>> _______________________________________________ >>> R-br mailing list >>> R-br@listas.c3sl.ufpr.br >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>> código mínimo reproduzível. >>> >> >> >> _______________________________________________ >> R-br mailing list >> R-br@listas.c3sl.ufpr.br >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. >> > > > > -- > \begin{signature} > Daniel Marcelino > ☁ dm.si...@umontreal.ca > ☎ (514) 343 6111 #3799 > Skype: d.marcelino > ✎ 3200 Jean Brillant, Office C5071 > Montreal, QC; H3T 1N8 > Canada > \end{signature} > > "Small steps toward a much better world" > -- \begin{signature} Daniel Marcelino ☁ dm.si...@umontreal.ca ☎ (514) 343 6111 #3799 Skype: d.marcelino ✎ 3200 Jean Brillant, Office C5071 Montreal, QC; H3T 1N8 Canada \end{signature} "Small steps toward a much better world"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.