[R-es] Sobre data.table
Carlos J. Gil Bellosta
cgb en datanalytics.com
Vie Jun 19 17:24:20 CEST 2015
Hola, ¿qué tal?
Estoy con Olivier. Es probable que hayas leído datos en que aparecían
valores "NA" pero que se hayan leído no como nulos sino como cadenas
"normales" con valor NA. Deberías echarle un vistazo al argumento
na.strings de la función de lectura que estés utilizando.
Finalmente, para procesar tablas de 4000 filas no es recomendable
meterse en el tinglado de data.table. Creo que solo como a partir de
tablas con un tamaño dos órdenes de magnitud superiores comenzarías a
detectar diferencias de rendimiento.
Un saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
El día 19 de junio de 2015, 17:07, MªLuz Morales <mlzmrls en gmail.com> escribió:
> Este es el summary de mi data.table Datos:
>
>> summary(Datos)
> In.hospital_death SAPS.I SOFA Age
> Gender Height ICUType
> Min. :0.0000 Length:4000 Length:4000 Min. :15.00
> Length:4000 Length:4000 Min. :1.00
> 1st Qu.:0.0000 Class :character Class :character 1st Qu.:52.75
> Class :character Class :character 1st Qu.:2.00
> Median :0.0000 Mode :character Mode :character Median :67.00
> Mode :character Mode :character Median :3.00
> Mean :0.1385 Mean :64.25
> Mean :2.76
> 3rd Qu.:0.0000 3rd Qu.:78.00
> 3rd Qu.:4.00
> Max. :1.0000 Max. :90.00
> Max. :4.00
> Weight HR Temp GCS
> HCT BUN
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> Creatinine Platelets WBC Na
> HCO3 K
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> Mg Glucose Urine Urine.Sum
> NISysABP NIDiasABP
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> NIMAP pH PaCO2 PaO2
> DiasABP SysABP
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> MAP FiO2 MechVent Lactate
> SaO2 AST
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> ALT Bilirubin ALP Albumin
> RespRate TroponinT
> Length:4000 Length:4000 Length:4000 Length:4000
> Length:4000 Length:4000
> Class :character Class :character Class :character Class :character
> Class :character Class :character
> Mode :character Mode :character Mode :character Mode :character
> Mode :character Mode :character
>
>
>
> Cholesterol TroponinI
> Length:4000 Length:4000
> Class :character Class :character
> Mode :character Mode :character
>
>
>
> El 19 de junio de 2015, 16:10, Olivier Nuñez <onunez en unex.es> escribió:
>>
>> Mª Luz,
>>
>> si el comando de Carlos te devuelve 0 es que no hay NA's.
>> Da igual que tus columnas sean caracteres o número.
>> Lo que intuyo es que tienes celdas con la frase "NA" que interpretas como
>> NA.
>> Mandanos el summary de tu data.table y lo vemos...
>>
>> ----- Mensaje original -----
>> De: "MªLuz Morales" <mlzmrls en gmail.com>
>> Para: "Carlos J. Gil Bellosta" <cgb en datanalytics.com>
>> CC: "r-help-es" <r-help-es en r-project.org>
>> Enviados: Viernes, 19 de Junio 2015 16:02:58
>> Asunto: Re: [R-es] Sobre data.table
>>
>> Hola,
>>
>> sapply(Datos, function(x) sum(is.na(x)))
>>
>> al aplicar esto me devuelve cero para todas las columnas, sin embargo si
>> que hay elementos NA!!
>>
>> Un saludo
>> MªLuz
>>
>> El 19 de junio de 2015, 15:06, Carlos J. Gil Bellosta
>> <cgb en datanalytics.com>
>> escribió:
>>
>> > Hola, ¿qué tal?
>> >
>> > ¿Y por qué no, simplemente, sapply(mi.data.table, function(x) sum(is.na
>> > (x)))?
>> >
>> > Un saludo,
>> >
>> > Carlos J. Gil Bellosta
>> > http://www.datanalytics.com
>> >
>> >
>> >
>> > El día 19 de junio de 2015, 14:44, Olivier Nuñez <onunez en unex.es>
>> > escribió:
>> > > Si te devuelve 0 para todas las columnas es que no hay NA's.
>> > > Tal vez son caracteres igual a "NA".
>> > > Para asegurarte de ello, prueba
>> > >
>> > > DT[,lapply(.SD,function(x) sum(x=="NA",na.rm=TRUE))]
>> > >
>> > >
>> > >
>> > > ----- Mensaje original -----
>> > >
>> > > De: "MªLuz Morales" <mlzmrls en gmail.com>
>> > > Para: "Olivier Nuñez" <onunez en unex.es>
>> > > CC: "r-help-es" <r-help-es en r-project.org>
>> > > Enviados: Viernes, 19 de Junio 2015 14:17:46
>> > > Asunto: Re: [R-es] Sobre data.table
>> > >
>> > > Uy pues con mi data.table no lo hace bien, me devuelve 0 para todas
>> > > las
>> > columnas. Podría ser porque algunas columnas son char y otras num??
>> > >
>> > > El 19 de junio de 2015, 13:03, Olivier Nuñez < onunez en unex.es >
>> > escribió:
>> > >
>> > >
>> > >
>> > > Si quieres mantener el formato data.table en la salida, mejor utilizar
>> > lapply:
>> > >
>> > >
>> > >> DT[,lapply(.SD,function(x) sum( is.na (x)))]
>> > > X1 X2
>> > > 1: 2 3
>> > >
>> > >
>> > >
>> > > De: "MªLuz Morales" < mlzmrls en gmail.com >
>> > > Para: "Olivier Nuñez" < onunez en unex.es >
>> > > Enviados: Viernes, 19 de Junio 2015 12:40:09
>> > > Asunto: Re: [R-es] Sobre data.table
>> > >
>> > > Muchas gracias!!
>> > >
>> > > El 19 de junio de 2015, 12:29, Olivier Nuñez < onunez en unex.es >
>> > escribió:
>> > >
>> > > <blockquote>
>> > >> DT=data.table(X1=c(NA,NA,1,1,1),X2=c(1,1,NA,NA,NA))
>> > >> DT[,apply(.SD,2,function(x) sum( is.na (x)))]
>> > > X1 X2
>> > > 2 3
>> > >
>> > > Un saludo. Olivier
>> > >
>> > > ----- Mensaje original -----
>> > > De: "MªLuz Morales" < mlzmrls en gmail.com >
>> > > Para: "r-help-es" < r-help-es en r-project.org >
>> > > Enviados: Viernes, 19 de Junio 2015 12:08:42
>> > > Asunto: [R-es] Sobre data.table
>> > >
>> > > Hola,
>> > >
>> > > quisiera determinar el número de filas distintas del valor NA para
>> > > cada
>> > una
>> > > de las columnas de un data.table. Probablemente se puede hacer de una
>> > forma
>> > > muy compacta, pero no consigo hacerlo.
>> > >
>> > > Gracias
>> > > Un saludo
>> > >
>> > > MªLuz
>> > >
>> > > [[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
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > </blockquote>
>> > >
>> > >
>> > >
>> > >
>> > > [[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
>> >
>>
>> [[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
>
>
Más información sobre la lista de distribución R-help-es