Sergio,

cai na pegadinha do cansaço... Note que a sua leitura está levando a isto.

Quando se usa as.is = F, as variaveis char serão convertidas para factor. Neste caso a sua variável (apesar de ser composta apenas por números inteiros) está como character.

Se você alterar para as.is=T, seus dados serão lidos como character e as.numeric funcionará normalmente.

Note que todas as vezes que você for converter factor em numeric deve antes passar o factor para character.


CMR:


x <- factor(floor(runif(1000,15,20)))
str(x)
table(x)

y <- as.numeric(x)
table(y)

z <- as.numeric(as.character(x))
table(z)

as.is

should character vectors not be converted to factors?





Atenciosamente,
Leandro Marino
http://www.leandromarino.com.br (Fotógrafo)
http://est.leandromarino.com.br/Blog (Estatístico)
Cel.: + 55 21 9845-7707
Cel.: + 55 21 8777-7907



Em 14 de abril de 2012 16:31, Paulo Justiniano <paulojus@leg.ufpr.br> escreveu:
isto acontece pq ao transformar para numérico ele está usando o n;ivel dos fatores e nao seus valores

verifique antes de transformar:

levels(dados)



On Sat, 14 Apr 2012, Sérgio Henrique almeida da silva ju wrote:



Olá 

Estou trabalhando com alguns dados numéricos e que o R esta considerando como fator.

> dput(dados)
structure(list(NU_LESOES = c(12, 2, 1, 2, 2, 4, 2, 12, 12, 9, 
1, 5, 6, 7, 1, 8, 10, 3, 4, 11)), .Names = "NU_LESOES", row.names = c(NA, 
-20L), data_types = "C", class = "data.frame")

>str(dados2)
'data.frame':   20 obs. of  1 variable:
 $ NU_LESOES: Factor w/ 12 levels "1","10","15",..: 12 2 1 2 2 4 2 12 12 9 ...
 - attr(*, "data_types")= chr "C"

>table(dados2$NU_LESOES)
 1 10 15  2 20  3 30  5  7  8 80 NA 
 3  4  1  2  1  1  1  1  1  1  1  3 

Porém quando uso o comando: dados2$NU_LESOES=as.numeric(dados2$NU_LESOES) os dados mudam

> dados2$NU_LESOES=as.numeric(dados2$NU_LESOES)
> table(dados2$NU_LESOES)

 1  2  3  4  5  6  7  8  9 10 11 12 
 3  4  1  2  1  1  1  1  1  1  1  3 

O que pode está acontecendo?



-- 
Sérgio Henrique Almeida da Silva Junior
Doutorando em Epidemiologia em Saúde Pública
Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
http://lattes.cnpq.br/1611345552843383
Tel: (21) 94429486/78101651 id: 123*20942




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