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 <dmarcelino@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 <rcoster@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.paula@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 <dmarcelino@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.paula@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.silva@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.silva@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.