[R-es] Más filtrado de variables

jose luis pepeceb en yahoo.es
Mie Mar 7 13:44:29 CET 2018


Habría que quedarse para cada GRUPO con el ORDEN más pequeño posible pero siempre que la CLASE   no se haya ya seleccionado previamente.Lo más importante es intentar que haya una  CLASE exclusiva para cada GRUPO. 

    El Miércoles 7 de marzo de 2018 13:39, Carlos Ortega <cof en qualityexcellence.es> escribió:
 

 Ah, sorry, no había entendido lo de no repetir la primera clase.¿En este caso con cuál habría que quedarse...?..
Otra forma de hacerlo más compacta (hasta aclarar el punto) es así:

Lines <- "   GRUPO ORDEN    CLASE1      A     1 CLASE-012      A     2 CLASE-023      A     5 CLASE-034      B     1 CLASE-015      B     2 CLASE-026      B     5 CLASE-037      B     7 CLASE-048      C     2 CLASE-029      C     5 CLASE-0310     C     7 CLASE-0411     D     5 CLASE-0312     D     7 CLASE-0413     E     1 CLASE-0614     F     2 CLASE-0215     F     5 CLASE-0316     F     7 CLASE-0517     G     1 CLASE-07"
DF <- read.table(textConnection(Lines), header = TRUE, as.is = TRUE)
library(data.table)DT <- as.data.table(DF)DT[, .SD[1], by="GRUPO"]
> DT[, .SD[1], by="GRUPO"]   GRUPO ORDEN    CLASE1:     A     1 CLASE-012:     B     1 CLASE-013:     C     2 CLASE-024:     D     5 CLASE-035:     E     1 CLASE-066:     F     2 CLASE-027:     G     1 CLASE-07


El 7 de marzo de 2018, 13:35, jose luis <pepeceb en yahoo.es> escribió:

Tienes razón Javier, enseguida se me acaban las CLASES, tendría que descartar demasiadas.En el ejemplo de Carlos Ortega estaría perfecto si no se repitiera la primera CLASE-01.No se si tendré que tirar por otro lado... 

    El Miércoles 7 de marzo de 2018 13:26, Carlos Ortega <cof en qualityexcellence.es> escribió:
 

 Hola,
Aquí, tienes otra forma que es bastante sencilla de leer/entender...

Lines <- "   GRUPO ORDEN    CLASE1      A     1 CLASE-012      A     2 CLASE-023      A     5 CLASE-034      B     1 CLASE-015      B     2 CLASE-026      B     5 CLASE-037      B     7 CLASE-048      C     2 CLASE-029      C     5 CLASE-0310     C     7 CLASE-0411     D     5 CLASE-0312     D     7 CLASE-0413     E     1 CLASE-0614     F     2 CLASE-0215     F     5 CLASE-0316     F     7 CLASE-0517     G     1 CLASE-07"
library(dplyr)DF %>%   group_by(GRUPO) %>%  select(GRUPO, ORDEN, CLASE) %>%  filter(ORDEN == min(ORDEN))

Y que produce este resultado...
> library(dplyr)> DF %>% +   group_by(GRUPO) %>%+   select(GRUPO, ORDEN, CLASE) %>%+   filter(ORDEN == min(ORDEN))# A tibble: 7 x 3# Groups:   GRUPO [7]  GRUPO ORDEN CLASE     <chr> <int> <chr>   1 A         1 CLASE-012 B         1 CLASE-013 C         2 CLASE-024 D         5 CLASE-035 E         1 CLASE-066 F         2 CLASE-027 G         1 CLASE-07
Saludos,Carlos Ortegawww.qualityexcellence.es



El 7 de marzo de 2018, 12:00, jose luis via R-help-es <r-help-es en r-project.org> escribió:

Adjunto txt por si no se ve bien, disculpas 

    El Miércoles 7 de marzo de 2018 11:53, jose luis via R-help-es <r-help-es en r-project.org> escribió:
 

 Buenas. A ver si a alguien se le ocurre cómo hacer este filtrado. Quiero seleccionar para cada GRUPO el numero de ORDEN más pequeño (que podría ser con wich.min(ORDEN)), pero sin que se repita la CLASE, de modo que si la CLASE-01 salió en el primer GRUPO ya no salga más.



 GRUPO           ORDEN    CLASE        A       1   CLASE-01        A       2   CLASE-02        A       5   CLASE-03        B       1   CLASE-01        B       2   CLASE-02        B       5   CLASE-03        B       7   CLASE-04        C       2   CLASE-02        C       5   CLASE-03        C       7   CLASE-04        D       5   CLASE-03        D       7   CLASE-04        E       1   CLASE-06        F       2   CLASE-02        F       5   CLASE-03        F       7   CLASE-05        G       1   CLASE-07
 Tendría que quedarme tal que así:

    GRUPO ORDEN     CLASE        A       1       CLASE-01        B       2       CLASE-02        C       5       CLASE-03        D       7       CLASE-04        E       1       CLASE-06        F       7       CLASE-05        G       1       CLASE-07

Un saludo

Jose Luis

    [[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

   
______________________________ _________________
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

   



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

   
	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es