Hola. Mi problema del día... Estoy importando un .csv muy pesado y muy sucio, en el sentido de tener variables con problemas en sus datos. En concreto lo que me pasa es que logro levantarlo, tal que para un caso concreto del data.table obtengo un valor: 753,2256 que parece un número pero es un factor. De hecho: $ PP : Factor w/ 69878 levels "-3134,0938","10,117423882342",..: 33138 35010 Pero cuando:> pami$PP <- as.numeric(pami$PP)y busco el mismo registro (la misma fila), resulta que PP a "mutado" a 61343 al trasnformarla. $ PP: num 33138 35010 36793 40112 44828 ... Y esto me pasa ?en vari ?o? s ?casos (? filas ?)? ?al menos para dos variables. De hecho, en la misma ?observación tengo ?otro valor ?que convierte de 62,7688 ? a 17390 ?... ¿Qué puede estar sucediendo? Juro que solo aplico la transformación as.numeric()? ?Gracias.? ? -- ? ? Mauricio [[alternative HTML version deleted]]
Estimado Mauricio Monsalvo Usted dice que el csv es muy pesado y sucio, por lo cuál es posible que su trabajo en R sea correcto, pero como los datos son ?malos en su calidad de almacenamiento?, hay problemas. CSV es leído por planillas de cálculo y bases de datos, las primeras son fáciles pero si los datos son muchos dan problemas, las segundas tienen alguna herramienta que facilita su importación. Si usted logra importar los datos a una base de datos podrá leerlos desde R, es probable que desde R o desde la misma base de datos pueda encontrar valores inadecuados, o en su defecto la importación a la base de datos soluciona el problema, pensando en por ejemplo que en el CSV hay datos 2,3 y 2.3, siendo ambos iguales pero en informática no son lo mismo. Javier Rubén Marcuzzi De: Mauricio Monsalvo [[alternative HTML version deleted]]
Tranquilo que no te han hackeado tu "R"... Simplemente que al importar tu CSV, no has indicado que los decimales son las ",". Y ese campo lo importa como un character (un string). Y cuando lo conviertes a numeric, el resultado es un tanto impredecible. Si utilizas read.table para importar, simplemente incluye el parámetro "dec" de esta forma "read.table(..... , *dec = ","*). Esta vez, esa columna será numeric directamente. Saludos, Carlos Ortega www.qualityexcellence.es El 3 de agosto de 2016, 23:05, <javier.ruben.marcuzzi en gmail.com> escribió:> Estimado Mauricio Monsalvo > > Usted dice que el csv es muy pesado y sucio, por lo cuál es posible que su > trabajo en R sea correcto, pero como los datos son ?malos en su calidad de > almacenamiento?, hay problemas. > > CSV es leído por planillas de cálculo y bases de datos, las primeras son > fáciles pero si los datos son muchos dan problemas, las segundas tienen > alguna herramienta que facilita su importación. > > Si usted logra importar los datos a una base de datos podrá leerlos desde > R, es probable que desde R o desde la misma base de datos pueda encontrar > valores inadecuados, o en su defecto la importación a la base de datos > soluciona el problema, pensando en por ejemplo que en el CSV hay datos 2,3 > y 2.3, siendo ambos iguales pero en informática no son lo mismo. > > Javier Rubén Marcuzzi > > De: Mauricio Monsalvo > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]