Ya... de esta forma tampoco obtienes el mes que tiene todos sus valores NA...que es la duda ..
Otra forma más sencilla con data.table que la que envié anteriormente... > > Lines <- "MES|VARIABLE|RESULTADO| + 1|A|SI| + 1|B|SI| + 1|C|NO| + 2|A|NA| + 2|B|SI| + 2|C|SI| + 3|A|NO| + 3|B|NO| + 3|C|NO| + 4|A|NA| + 4|B|NA| + 4|C|NA|" > > DF <- read.table(textConnection(Lines), header = TRUE, as.is = TRUE, sep = "|") > DF$X <- NULL > > #--------------------- > library(data.table) > DT <- as.data.table(DF) > *DT[ , all(is.na <http://is.na>(RESULTADO)), by=c("MES")][ V1 == TRUE]* MES V1 1: 4 TRUE Saludos, Carlos Ortega www.qualityexcellence.es El 22 de febrero de 2018, 17:58, Javier Nieto <mac_j...@hotmail.com> escribió: > Hola, > > > un poco más compacto, mi solución es la siguiente: > > > DF[is.na(DF$RESULTADO), ] > > > si se requiere un conteo, con nrow aplicado al resultado anterior. > > > > donde DF es un data frame con la información. > > > Saludos > ------------------------------ > *De:* R-help-es <r-help-es-boun...@r-project.org> en nombre de Freddy > Omar López Quintero <freddy.vat...@gmail.com> > *Enviado:* jueves, 22 de febrero de 2018 10:10:04 a. m. > *Para:* Carlos Ortega > *CC:* Lista R. > *Asunto:* Re: [R-es] Filtrado de variables > > Es cierto, una vez más entendí todo mal. Mis disculpas. > > La solución con SQL no va nada corta, me parece: > > # filtrar el mes en el que todos los campos de la columna RESULTADO son NA > > sqldf(" > select * > from DF > where mes in > ( > select a.mes from > ( > select mes, count(*) as total_NA > from > (select * > from DF > where resultado=' NA ') > group by mes > ) a, > ( > select mes, count(*) as total_MES > from DF > group by mes > ) b > > where total_na=total_mes and a.mes=b.mes > > ) > ") > > ¡Salud! > > 2018-02-22 9:01 GMT-03:00 Carlos Ortega <c...@qualityexcellence.es>: > > > Nope.., > > > > Sí, puede ser "sqldf" pero de esta forma no te muestra los meses que > > tienen todos sus meses con "NA".. > > Tienes que hacer primero un conteo de meses y luego un "left join" con el > > conteo de "NAs" por mes y quedarte con el mes que tiene los dos valores > > iguales (número de meses y número de NAs)... > > > > Estaba probando la opción, pero no he terminado de completarla... > > > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > El 22 de febrero de 2018, 12:53, Freddy Omar López Quintero < > > freddy.vat...@gmail.com> escribió: > > > >> El jue, 22-02-2018 a las 09:52 +0100, Carlos Ortega escribió: > >> > >> Aquí tienes un par de formas... > >> > >> > >> ... y aún una más, con el siempre fiel lenguaje SQL: > >> > >> > >> library(sqldf) > >> > >> # corriendo antes lo que hizo don Carlos pero dejándolo como un > data.frame tradicional: > >> > >> DF<-as.data.frame(DF) > >> > >> sqldf("select * from DF where resultado=' NA '") > >> > >> > >> ¡Saludos! > >> > >> > >> -- > >> > >> «...homines autem hominum causa esse generatos...» > >> > >> Cicero > >> > > > > > > > > -- > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > > > -- > «...my role is to be on the bottom of things.» > > Donald Knuth > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es