Buenos díasTengo esta pequeña matriz con tres columnas. Querría saber como puedo filtrar el mes en el que todos los campos de la columna RESULTADO son NA (en este caso sería unicamente el mes 4). Gracias | 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 | [[alternative HTML version deleted]]
Hola, Aquí tienes un par de formas... 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) re_dt <- DT[, num_mes :=.N, by=c("MES")][ RESULTADO == " NA ", all_na :.N, by=c("MES")][ all_na == num_mes] unique(re_dt$MES) #--------------------- library(dplyr) num_mes <- DF %>% group_by(MES) %>% summarize( num_mes = n()) hw_na <- DF %>% group_by(MES) %>% filter(RESULTADO == " NA ") %>% summarize( hw_na = n()) res_out <- left_join(num_mes, hw_na) %>% filter(num_mes == hw_na) Saludos, Carlos Ortega www.qualityexcellence.es El 22 de febrero de 2018, 9:22, jose luis via R-help-es < r-help-es en r-project.org> escribió:> Buenos díasTengo esta pequeña matriz con tres columnas. Querría saber como > puedo filtrar el mes en el que todos los campos de la columna RESULTADO son > NA (en este caso sería unicamente el mes 4). Gracias > | 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 | > > > [[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 >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Perfecto!!! El Jueves 22 de febrero de 2018 9:52, Carlos Ortega <cof en qualityexcellence.es> escribió: Hola, Aquí tienes un par de formas... 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)re_dt <- DT[, num_mes :=.N, by=c("MES")][ RESULTADO == " NA ", all_na := .N, by=c("MES")][ all_na == num_mes]unique(re_dt$MES) #---------------------library(dplyr)num_mes <- DF %>% group_by(MES) %>% summarize( num_mes = n()) hw_na <- DF %>% group_by(MES) %>% filter(RESULTADO == " NA ") %>% summarize( hw_na = n()) res_out <- left_join(num_mes, hw_na) %>% filter(num_mes == hw_na) Saludos,Carlos Ortegawww.qualityexcellence.es El 22 de febrero de 2018, 9:22, jose luis via R-help-es <r-help-es en r-project.org> escribió: Buenos díasTengo esta pequeña matriz con tres columnas. Querría saber como puedo filtrar el mes en el que todos los campos de la columna RESULTADO son NA (en este caso sería unicamente el mes 4). Gracias | 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 | [[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 -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
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 [[alternative HTML version deleted]]