[R-es] Sobre data.table

MªLuz Morales mlzmrls en gmail.com
Vie Jun 19 15:56:47 CEST 2015


Te agradezco la ayuda, al final esto es lo que me ha funcionado:

DatosConNA <- Datos[,lapply(.SD,as.character)]
NumNA <- DatosConNA[,lapply(.SD,function(x) sum(x=="NA",na.rm=TRUE))]

Es que tengo algunas columnas num y otras char, pero tanto en una como en
otra quiero el numero de valores NA tanto num como si es char...

Gracias!

El 19 de junio de 2015, 15:45, Olivier Nuñez <onunez en unex.es> escribió:

> Tan sólo para sacarle partido al paquete:
>
> > DT
>    X1 X2 Grupo
> 1: NA  1     A
> 2: NA  1     A
> 3:  1 NA     A
> 4:  1 NA     B
> 5:  1 NA     B
> > DT[,lapply(.SD,function(x) sum(is.na(x))),by=Grupo]
>    Grupo X1 X2
> 1:     A  2  1
> 2:     B  0  2
>
> Un saludo. Olivier
>
> ----- Mensaje original -----
> De: "Carlos J. Gil Bellosta" <cgb en datanalytics.com>
> Para: "r-help-es" <r-help-es en r-project.org>
> Enviados: Viernes, 19 de Junio 2015 15:06:15
> Asunto: Re: [R-es] Sobre data.table
>
> 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
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> 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]]



Más información sobre la lista de distribución R-help-es