renomeando níveis de fatores

Boa tarde, tenho uma solucao nao muito inteligente para o que venho perguntar e gostaria de obter algo mais otimizado. Tenho um data frame com 40 variaveis (fatores) e cada um com diversos níveis. Algo por exemplo: Variável satisfacao Variável aprendizado Variável outrosplanos muito satisfeito aprendo todos os dias posso mudar planos nem satisfeito nem insatisfeito aprendo 1 vez na semana preciso consultar o chefe mas posso mudar muito insatisfeito aprendo 1 vez ao mes nao posso mudar nunca aprendo raramente nao aprendo algo novo nunca Tenho por exemplo 10 variáveis do estilo da "satisfacao", 20 da "aprendizado" e 10 da "outrosplanos", agora quero ter nos näiveis números e nao frases, "1","2","3". A princ#ipio pensei em fazer manualmente para cada uma e depois unir todas as variáveis em um novo conjunto de dados: newsatisfacao<-factor(data$satisfacao, levels=c("muito satisfeito","nemsatisfeito nem insatisfeito","muito insatisfeito"),labels=c("1","2","3")) ..... newdata<-cbind(newsatisfacao, newaprendizado...) Assim eu teria o que quero, mas é muito trabalhoso e nao prático! Gostaria de poder renomear os níveis de forma mais dinamica e rápida, de repente sem ter que criar uma nova variável, só renomeá-los. Poder dizer que para todas as variáveis que tem as opcoes "muito satisfeito","nemsatisfeito nem insatisfeito","muito insatisfeito", devem ser renomeadas para "1","2","3" e assim por diante. Abracos, -- Daniela Rodrigues Recchia M.Sc. in Statistics Tel. (Mobil): +49 01578 7588382 Kißlegg - Germany “The standard of success in life is absolutely the amount of joy you feel” Esther & Jerry Hick

Se os níveis já estiverem na ordem correta, pode fazer da <- expand.grid(f1=gl(3,1,labels=c("pouco","razoavel","muito")), f2=gl(4,1,labels=c("nunca","as vezes","regularmente","sempre"))) str(da) db <- as.data.frame( sapply(da, function(x){ if(is.factor(x)) as.factor(as.character(as.numeric(x))) else x })) str(db) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
participantes (2)
-
Daniela Recchia
-
walmes .