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ó: > >> > 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 >> > > >[[alternative HTML version deleted]]
He intentado transformar a num de esta forma: Datos <- Datos[,lapply(.SD,as.numeric)] DatosConNA <- Datos[,lapply(.SD,function(x) sum(is.na(x)))] Pero me asigna el valor NA a TODAS las filas de las columnas que tenían el valor NA en alguna fila... El 19 de junio de 2015, 14:17, MªLuz Morales <mlzmrls en gmail.com> escribió:> 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ó: >> >>> > 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 >>> >> >> >> >[[alternative HTML version deleted]]
He intentado transformar a num de esta forma: Datos <- Datos[,lapply(.SD,as.numeric)] DatosConNA <- Datos[,lapply(.SD,function(x) sum(is.na(x)))] Pero me asigna el valor NA a TODAS las filas de las columnas que tenían el valor NA en alguna fila...en Datos El 19 de junio de 2015, 14:22, MªLuz Morales <mlzmrls en gmail.com> escribió:> He intentado transformar a num de esta forma: > > Datos <- Datos[,lapply(.SD,as.numeric)] > DatosConNA <- Datos[,lapply(.SD,function(x) sum(is.na(x)))] > > Pero me asigna el valor NA a TODAS las filas de las columnas que tenían el > valor NA en alguna fila... > > El 19 de junio de 2015, 14:17, MªLuz Morales <mlzmrls en gmail.com> escribió: > >> 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ó: >>> >>>> > 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 >>>> >>> >>> >>> >> >[[alternative HTML version deleted]]
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]]
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