Eu fiz isso. Mas pensei que pudesse alterar vários campos de uma mesma linha de uma vez só. Seria mais prático para mim, pois tenho que alterar numa mesma linha, ora 2 campos, ora 3. De qualquer forma, obrigada pela ajuda.
Em 22 de abril de 2013 16:09, Daniel Marcelino <[email protected]>escreveu: > Putz, entendi errado então. > > Olha só então: > Rodrigo exemplo: > > # 2 indica a posição da coluna. No meu exemplo vou colocar 2, mas você > precisa trocar para a posição da coluna no seu data frame. > > dados[[345, 2]] <- 20081005 > > > > > 2013/4/22 Rodrigo Coster <[email protected]> > >> Daniel, >> >> ela nao quer substituir FATIMALIMA por FATIMA LIMA (ok, até quer, mas ela >> ja resolveu esse problema com o comando que ela passou). Ela quer alternar >> a data da internação e o motivo da alta de quando o nome é >> FATIMALIMA/FATIMA LIMA. >> >> >> 2013/4/22 Daniel Marcelino <[email protected]> >> >>> 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 <[email protected]> >>> >>>> 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 <[email protected]> >>>> >>>>> 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 >>>>> <[email protected]>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 <[email protected]> >>>>>> >>>>>>> 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 >>>>>>> [email protected] >>>>>>> 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 >>>>>> ☁ [email protected] >>>>>> ☎ (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 >>>>>> [email protected] >>>>>> 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 >>>>> [email protected] >>>>> 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 >>>> [email protected] >>>> 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 >>> ☁ [email protected] >>> ☎ (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 >>> [email protected] >>> 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 >> [email protected] >> 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 > ☁ [email protected] > ☎ (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 > [email protected] > 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 [email protected] 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.
