Perdona. A ver ahora:
> 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
Un saludo
Isidro Hidalgo Arellano
Observatorio del Mercado de Trabajo
Consejería de Economía, Empresas y Empleo
http://www.castillalamancha.es/
De: Isidro Hidalgo Arellano [mailto:[email protected]]
Enviado el: miércoles, 07 de marzo de 2018 13:00
Para: 'jose luis' <[email protected]>; '[email protected]'
<[email protected]>
Asunto: RE: [R-es] Más filtrado de variables
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:[email protected]] En nombre de jose luis
via R-help-es
Enviado el: miércoles, 07 de marzo de 2018 12:01
Para: jose luis <[email protected] <mailto:[email protected]> >; Lista R.
<[email protected] <mailto:[email protected]> >
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
<[email protected] <mailto:[email protected]> > 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
[email protected] <mailto:[email protected]>
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es