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    CLASE
1      A     1 CLASE-01
2      A     2 CLASE-02
3      A     5 CLASE-03
4      B     1 CLASE-01
5      B     2 CLASE-02
6      B     5 CLASE-03
7      B     7 CLASE-04
8      C     2 CLASE-02
9      C     5 CLASE-03
10     C     7 CLASE-04
11     D     5 CLASE-03
12     D     7 CLASE-04
13     E     1 CLASE-06
14     F     2 CLASE-02
15     F     5 CLASE-03
16     F     7 CLASE-05
17     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    CLASE
1:     A     1 CLASE-01
2:     B     1 CLASE-01
3:     C     2 CLASE-02
4:     D     5 CLASE-03
5:     E     1 CLASE-06
6:     F     2 CLASE-02
7:     G     1 CLASE-07



El 7 de marzo de 2018, 13:35, jose luis <pepe...@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 <
> c...@qualityexcellence.es> escribió:
>
>
> Hola,
>
> Aquí, tienes otra forma que es bastante sencilla de leer/entender...
>
>
> Lines <- "   GRUPO ORDEN    CLASE
> 1      A     1 CLASE-01
> 2      A     2 CLASE-02
> 3      A     5 CLASE-03
> 4      B     1 CLASE-01
> 5      B     2 CLASE-02
> 6      B     5 CLASE-03
> 7      B     7 CLASE-04
> 8      C     2 CLASE-02
> 9      C     5 CLASE-03
> 10     C     7 CLASE-04
> 11     D     5 CLASE-03
> 12     D     7 CLASE-04
> 13     E     1 CLASE-06
> 14     F     2 CLASE-02
> 15     F     5 CLASE-03
> 16     F     7 CLASE-05
> 17     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-01
> 2 B         1 CLASE-01
> 3 C         2 CLASE-02
> 4 D         5 CLASE-03
> 5 E         1 CLASE-06
> 6 F         2 CLASE-02
> 7 G         1 CLASE-07
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
>
> El 7 de marzo de 2018, 12:00, jose luis via R-help-es <
> r-help-es@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@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@r-project.org
> https://stat.ethz.ch/mailman/ listinfo/r-help-es
> <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
> <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]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Reply via email to