
Boa tarde pessoal! Tenho uma base de dados em .csv em que algumas variáveis são numéricas, todavia quando importo para o R duas dessas variáveis estão sendo importados como factor (pib_j e dist). Alguém saberia me dizer como faço para importar mantendo as classes das variáveis? Pois quando tendo rodar um ols com o log das variáveis dá erro. A solução encontrada por mim foi alterar variável por variável, mas será que há alguma forma de importar já dizendo para manter a classe das variáveis? Desde já muito obrigado!
dados<-read.csv("states.csv",header=TRUE,sep=";",dec=",")
str(dados) 'data.frame': 1404 obs. of 9 variables: $ origin : Factor w/ 27 levels "ac","al","am",..: 1 1 1 1 1 1 1 1 1 1 ... $ destination: Factor w/ 27 levels "ac","al","am",..: 2 2 3 3 4 4 5 5 6 6 ... $ ano : int 1998 1999 1999 1998 1999 1998 1999 1998 1998 1999 ... $ pib_i : num 1694329 1866542 1866542 1694329 1866542 ... $ pop_i : int 514050 527937 527937 514050 527937 514050 527937 514050 514050 527937 ... $ value : int 785 115 32290 0 0 0 4259 24289 5318 6059 ... $ pib_j : Factor w/ 54 levels "10172207.9512881",..: 43 45 9 7 21 18 32 30 16 19 ... $ pop_j : int 2688117 2713203 2580860 2520684 439781 420834 12993011 12851268 7013376 7106605 ... $ dist : Factor w/ 343 levels ".","1004","1014",..: 281 281 38 38 1 1 259 259 295 295 ...
reg<-lm(value~log(pib_i)+log(pib_j)+log(pop_i)+log(pop_j)+log(dist),data=dados) Erro em Math.factor(c(43L, 45L, 9L, 7L, 21L, 18L, 32L, 30L, 16L, 19L, : log not meaningful for factors -- *Alexandre Rodrigues Loures*

On 21-04-2014 14:25, Alexandre Loures wrote:
Tenho uma base de dados em .csv em que algumas variáveis são numéricas, todavia quando importo para o R duas dessas variáveis estão sendo importados como factor (pib_j e dist). Alguém saberia me dizer como faço para importar mantendo as classes das variáveis?
[...]
dados<-read.csv("states.csv",header=TRUE,sep=";",dec=",")
str(dados) 'data.frame': 1404 obs. of 9 variables: $ origin : Factor w/ 27 levels "ac","al","am",..: 1 1 1 1 1 1 1 1 1 1 ... $ destination: Factor w/ 27 levels "ac","al","am",..: 2 2 3 3 4 4 5 5 6 6 ... $ ano : int 1998 1999 1999 1998 1999 1998 1999 1998 1998 1999 ... $ pib_i : num 1694329 1866542 1866542 1694329 1866542 ... $ pop_i : int 514050 527937 527937 514050 527937 514050 527937 514050 514050 527937 ... $ value : int 785 115 32290 0 0 0 4259 24289 5318 6059 ... $ pib_j : Factor w/ 54 levels "10172207.9512881",..: 43 45 9 7 21 18 32 30 16 19 ... $ pop_j : int 2688117 2713203 2580860 2520684 439781 420834 12993011 12851268 7013376 7106605 ... $ dist : Factor w/ 343 levels ".","1004","1014",..: 281 281 38 38 1 1 259 259 295 295 ...
Observe que o primeiro "level" de pib_j é "10172207.9512881", ou seja, o separador de decimais é um ponto e não uma vírgula. Tente: dados<-read.csv("states.csv", sep=";", dec=".") ou dados<-read.csv2("states.csv", dec=".")

Já tentou passar o parâmetro as.is = !stringsAsFactors abs, Bruno 2014-04-21 14:35 GMT-03:00 Jakson Alves de Aquino <jalvesaq@gmail.com>:
On 21-04-2014 14:25, Alexandre Loures wrote:
Tenho uma base de dados em .csv em que algumas variáveis são numéricas, todavia quando importo para o R duas dessas variáveis estão sendo importados como factor (pib_j e dist). Alguém saberia me dizer como faço para importar mantendo as classes das variáveis?
[...]
dados<-read.csv("states.csv",header=TRUE,sep=";",dec=",")
str(dados) 'data.frame': 1404 obs. of 9 variables: $ origin : Factor w/ 27 levels "ac","al","am",..: 1 1 1 1 1 1 1 1 1 1 ... $ destination: Factor w/ 27 levels "ac","al","am",..: 2 2 3 3 4 4 5 5 6 6 ... $ ano : int 1998 1999 1999 1998 1999 1998 1999 1998 1998 1999 ... $ pib_i : num 1694329 1866542 1866542 1694329 1866542 ... $ pop_i : int 514050 527937 527937 514050 527937 514050 527937 514050 514050 527937 ... $ value : int 785 115 32290 0 0 0 4259 24289 5318 6059 ... $ pib_j : Factor w/ 54 levels "10172207.9512881",..: 43 45 9 7 21 18 32 30 16 19 ... $ pop_j : int 2688117 2713203 2580860 2520684 439781 420834 12993011 12851268 7013376 7106605 ... $ dist : Factor w/ 343 levels ".","1004","1014",..: 281 281 38 38 1 1 259 259 295 295 ...
Observe que o primeiro "level" de pib_j é "10172207.9512881", ou seja, o separador de decimais é um ponto e não uma vírgula. Tente:
dados<-read.csv("states.csv", sep=";", dec=".")
ou
dados<-read.csv2("states.csv", dec=".")
_______________________________________________ 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.
-- sds, Bruno Barros @brunosoab

Obrigado pessoal!!! Resolvido. Em 21-04-2014 14:35, Jakson Alves de Aquino escreveu:
On 21-04-2014 14:25, Alexandre Loures wrote:
Tenho uma base de dados em .csv em que algumas variáveis são numéricas, todavia quando importo para o R duas dessas variáveis estão sendo importados como factor (pib_j e dist). Alguém saberia me dizer como faço para importar mantendo as classes das variáveis? [...]
dados<-read.csv("states.csv",header=TRUE,sep=";",dec=",")
str(dados) 'data.frame': 1404 obs. of 9 variables: $ origin : Factor w/ 27 levels "ac","al","am",..: 1 1 1 1 1 1 1 1 1 1 ... $ destination: Factor w/ 27 levels "ac","al","am",..: 2 2 3 3 4 4 5 5 6 6 ... $ ano : int 1998 1999 1999 1998 1999 1998 1999 1998 1998 1999 ... $ pib_i : num 1694329 1866542 1866542 1694329 1866542 ... $ pop_i : int 514050 527937 527937 514050 527937 514050 527937 514050 514050 527937 ... $ value : int 785 115 32290 0 0 0 4259 24289 5318 6059 ... $ pib_j : Factor w/ 54 levels "10172207.9512881",..: 43 45 9 7 21 18 32 30 16 19 ... $ pop_j : int 2688117 2713203 2580860 2520684 439781 420834 12993011 12851268 7013376 7106605 ... $ dist : Factor w/ 343 levels ".","1004","1014",..: 281 281 38 38 1 1 259 259 295 295 ... Observe que o primeiro "level" de pib_j é "10172207.9512881", ou seja, o separador de decimais é um ponto e não uma vírgula. Tente:
dados<-read.csv("states.csv", sep=";", dec=".")
ou
dados<-read.csv2("states.csv", dec=".")
_______________________________________________ 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.
-- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Tel.: +55 32 9102-0690 (MG) ou +55 83 9804-1000 (PB) e-Mail: alexandre.loures@ymail.com Site: www.ccsa.ufpb.br/ppge
participantes (3)
-
Alexandre Loures
-
Bruno Barros
-
Jakson Alves de Aquino