Eu resolvi assim:

x <- c(rep("1 ano(s)", 5), rep("10 ano(s)", 5), rep("11 ano(s)", 5), rep("12 ano(s)", 5), rep("13 ano(s)", 5), rep("14 ano(s)"))

as.numeric(sub(" ano\\(s\\)", "", x))

Abs,


2014-04-22 16:48 GMT-03:00 FHRB Toledo <fernandohtoledo@gmail.com>:
Edson,

Acho que strsplit() pode ajudar!

Um pequeno exemplo:

vetorO é o seu vetor original; vetorF é o mesmo vetor como factor; e vetorN é o vetor numérico "transformado"

vetorO <- c('1 anos(s)', '10 anos(s)', '11 ano(s)', '12 ano(s)', '13 ano(s)', '14 ano(s)')
vetorF <- factor(vetorO)
vetorN <- as.numeric(do.call(rbind, strsplit(as.character(vetorF), split = ' ', fixed = TRUE))[,1])

Espero ter ajudado!

att,
FH


2014-04-22 16:39 GMT-03:00 Edson Lira <edinhoestat@yahoo.com.br>:
Tenho a variável idade em um banco de dados da forma abaixo:
1 ano(s) 10 ano(s) 11 ano(s) 12 ano(s) 13 ano(s) 14 ano(s)
 
Quero retirar a palavra ano(s), transformando-a de fator para numérica

Olhei o help da ??stringsAsFactors, não consegui encontrar resposta.

[ ]'s.
Edson Lira
Estatístico
Manaus-Amazonas

_______________________________________________
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.



--
Marcus Nunes
http://marcusnunes.me/