Una forma sería ésta:

 

> datos

   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

> clases = attr(table(datos$CLASE), "names")

> grupos = attr(table(datos$GRUPO), "names")

> datosFinal = datos[1,]

> clases = clases[-1]

> grupos = grupos[-1]

> for (g in grupos){

+      selec = datos[datos$GRUPO ==g & datos$CLASE %in% clases,]

+      selec = selec[1,]

+      clases = clases[clases != selec$CLASE]

+      datosFinal = rbind(datosFinal, selec)

+ }

> datosFinal

   GRUPO ORDEN    CLASE

1      A     1 CLASE-01

5      B     2 CLASE-02

9      C     5 CLASE-03

12     D     7 CLASE-04

13     E     1 CLASE-06

16     F     7 CLASE-05

17     G     1 CLASE-07

 

Básicamente es montar un cola con las clases para ir quitándole el valor que va 
saliendo en cada grupo.

 

Un saludo

 

Isidro Hidalgo Arellano

Observatorio del Mercado de Trabajo

Consejería de Economía, Empresas y Empleo

http://www.castillalamancha.es/

 

 

 

De: R-help-es [mailto:r-help-es-boun...@r-project.org] En nombre de jose luis 
via R-help-es
Enviado el: miércoles, 07 de marzo de 2018 12:01
Para: jose luis <pepe...@yahoo.es>; Lista R. <r-help-es@r-project.org>
Asunto: Re: [R-es] Más filtrado de variables

 

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 <mailto: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 <mailto:R-help-es@r-project.org> 
https://stat.ethz.ch/mailman/listinfo/r-help-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

Responder a