[R-es] Más filtrado de variables

Javier Marcuzzi javier.ruben.marcuzzi en gmail.com
Mie Mar 7 13:12:31 CET 2018


José Luis

La forma de Isidro Hidalgo Arellano es buena y clara, básicamente es lo
mismo, uno propone sumar y el otro restar, pero en ambas alternativas hay
un problema, utilizando el ejemplo de Isidro, tengo tres clases, digamos
que gasté las tres, pero las gasté antes de recorrer todos los datos, por
ejemplo tengo 1000 datos y en el 750 fueron utilizadas todas las clases, me
quedarían 250 datos que se descartarían.

Javier Rubén Marcuzzi

El 7 de marzo de 2018, 9:00, Isidro Hidalgo Arellano <ihidalgo en jccm.es>
escribió:

> 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-bounces en 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 <pepeceb en yahoo.es>; Lista R. <r-help-es en 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 en r-project.org <mailto: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 <mailto:R-help-es en r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-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
>

	[[alternative HTML version deleted]]



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