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:
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
Class :character Class :character
Mode :character Mode :character Mode :character Mode
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
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(
(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 >
Si quieres mantener el formato data.table en la salida, mejor
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 >
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
de las columnas de un data.table. Probablemente se puede hacer de
muy compacta, pero no consigo hacerlo.
Gracias
Un saludo
MªLuz
[[alternative HTML version deleted]]