[R-br] Duvida sobre como modificar dados em um data.frame

Augusto Ribas ribas.aca em gmail.com
Quinta Março 1 17:22:26 BRT 2012


Ola pessoal.
Estou com uma duvida simples aqui.
Eu estava analisando dados aqui e vi um grafico estranho, dai vi que os
dados  estavam digitados errados.
Mas o erro é simples.
Existem 2 fatores, e os niveis de um fator estão trocados, mas somente
dentro de um nivel do segundo fator, o resto esta tudo correto.
Basicamente existe um vetor e eu tenho que trocar A por B e vive versa.
Ai eu consegui arrumar imendando um monte de comando mas ficou uma coisa
enorme e especifica para algo que parece tão simples.
ai pensei se alguém tem uma solução mais economica e geral que a que eu fiz?

###
#Exemplo de dados
###
resposta<-c(c(rnorm(10,5),rnorm(10,8)),c(rnorm(10,8),rnorm(10,5)))
fator1<-c(rep(c("A","B"),each=10),rep(c("A","B"),each=10))
fator2<-rep(c("1","2"),each=20)
dados<-data.frame(resposta,fator1,fator2)

###
#Grafico Errado
###
library(lattice)
bwplot(resposta~fator1|fator2,data=dados)

###
#Minha Solução
###
dados[which(dados$fator2%in%"2"),"fator1"]<-sapply(dados[which(dados$fator2%in%"2"),"fator1"],function(x){
if(x=="B"){


                                   replace(x, x == "B", "A")


                                   }


                           else {


                                   replace(x, x == "A", "B")


                                   }


                           })

###
#Grafico Certo
###
bwplot(resposta~fator1|fator2,data=dados)










-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://augustoribas.heliohost.org
Lattes: http://lattes.cnpq.br/7355685961127056
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120301/be547eba/attachment.html>


Mais detalhes sobre a lista de discussão R-br