[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