[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