
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

Da para usar gsub para isso: teste <- factor(c('1 ano(s)', '10 ano(s)', '11 ano(s)', '12 ano(s)', '13 ano(s)', '14 ano(s)')) as.integer(gsub('[^0-9]', '', teste)) # O gsub() retira tudo que não é número, o as.integer() transforma a string em inteiros 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.

Muito obrigado a todos!!! Todas as sugestões resolveram meu problema. [ ]'s. Edson Lira Estatístico Manaus-Amazonas ________________________________ De: Rodrigo Coster <rcoster@gmail.com> Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>; Edson Lira <edinhoestat@yahoo.com.br> Enviadas: Terça-feira, 22 de Abril de 2014 15:18 Assunto: Re: [R-br] Retirar strings Da para usar gsub para isso: teste <- factor(c('1 ano(s)', '10 ano(s)', '11 ano(s)', '12 ano(s)', '13 ano(s)', '14 ano(s)')) as.integer(gsub('[^0-9]', '', teste)) # O gsub() retira tudo que não é número, o as.integer() transforma a string em inteiros 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.

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.

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/

Valeu FH!!! Edson Lira Estatístico Manaus-Amazonas ________________________________ De: FHRB Toledo <fernandohtoledo@gmail.com> Para: R-Br <r-br@listas.c3sl.ufpr.br>; Edson Lira <edinhoestat@yahoo.com.br> Enviadas: Terça-feira, 22 de Abril de 2014 15:18 Assunto: Re: [R-br] Retirar strings 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.

Se você quer só a porção numérica substitua o que *não for número* (\D) por nada. Assim: > x <- c('1 anos(s)', '10 anos(s)', '11 ano(s)', '12 ano(s)', '13 ano(s)', + '14 ano(s)') > as.integer(gsub("\\D", "", x)) [1] 1 10 11 12 13 14 > À disposição. Walmes.

Valeu Walmes [ ]'s. Edson Lira Estatístico Manaus-Amazonas ________________________________ De: walmes . <walmeszeviani@gmail.com> Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>; Edson Lira <edinhoestat@yahoo.com.br> Enviadas: Terça-feira, 22 de Abril de 2014 15:28 Assunto: Re: [R-br] Retirar strings Se você quer só a porção numérica substitua o que *não for número* (\D) por nada. Assim:
x <- c('1 anos(s)', '10 anos(s)', '11 ano(s)', '12 ano(s)', '13 ano(s)',
+ '14 ano(s)')
as.integer(gsub("\\D", "", x)) [1] 1 10 11 12 13 14
À disposição. Walmes.
participantes (5)
-
Edson Lira
-
FHRB Toledo
-
Marcus Nunes
-
Rodrigo Coster
-
walmes .