
Outra maneira mais direta é usando levels e labels Exemplo: x <- factor(sample(LETTERS[1:4], 10, rep=T)) x [1] B C D B A D D D C B Levels: A B C D y <- factor(x, lab=LETTERS[1:4], lev=c("B","A","C","D")) y [1] A C D A B D D D C A Levels: A B C D On Thu, 1 Mar 2012, Augusto Ribas wrote:
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