________________________________
De: Carlos Ortega <cof en 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_javi en hotmail.com<mailto:mac_javi en 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-bounces en r-project.org<mailto:r-help-es-bounces en r-project.org>> en nombre de Freddy Omar L?pez Quintero <freddy.vate01 en gmail.com<mailto:freddy.vate01 en 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 <cof en qualityexcellence.es<mailto:cof en 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.vate01 en gmail.com<mailto:freddy.vate01 en 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 en r-project.org<mailto:R-help-es en 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 en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es