La opción de Carlos con dplyr también se podría simplificar un poco
haciendo los dos 'summarize' a la vez:
DF %>%
group_by(MES) %>%
summarize(num_mes = n(), hw_na = sum(RESULTADO == " NA ")) %>%
filter(num_mes == hw_na)
Un saludo
Álvaro
El 22/02/18 a las 19:18, Javier Nieto escribió:
Tienes raz�n Carlos. No entend� bien la duda. Me quedo con tu soluci�n.
Saludos
________________________________
De: Carlos Ortega <c...@qualityexcellence.es>
Enviado: jueves, 22 de febrero de 2018 11:13:55 a. m.
Para: Javier Nieto
CC: Freddy Omar L�pez Quintero; Lista R.
Asunto: Re: [R-es] Filtrado de variables
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<http://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<http://www.qualityexcellence.es>
El 22 de febrero de 2018, 17:58, Javier Nieto
<mac_j...@hotmail.com<mailto:mac_j...@hotmail.com>> escribi�:
Hola,
un poco m�s compacto, mi soluci�n es la siguiente:
DF[is.na<http://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<mailto:r-help-es-boun...@r-project.org>> en
nombre de Freddy Omar L�pez Quintero
<freddy.vat...@gmail.com<mailto: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<mailto: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<http://www.qualityexcellence.es>
El 22 de febrero de 2018, 12:53, Freddy Omar L�pez Quintero <
freddy.vat...@gmail.com<mailto: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<http://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<mailto:R-help-es@r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es<http://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
_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es