[R-es] Combinaciones sin repetición...con restricciones

Javier Marcuzzi javier.ruben.marcuzzi en gmail.com
Jue Abr 28 16:34:38 CEST 2016


Estimado José Ignacio

Entonces entiendo que busca en una lista o data.frame tres condiciones con “o”.

Si “contiene A” -  o -  Si “contiene B” – o  -Si “contiene A y B”

Haría que analizar si es lo mismo A y B o B y A.

Javier Rubén Marcuzzi

De: giltrapo
Enviado: jueves, 28 de abril de 2016 11:26
Para: Javier Marcuzzi
CC: r-help-es en r-project.org
Asunto: Re: [R-es] Combinaciones sin repetición...con restricciones

Hola, Javier.

La solución Objeto 1 (a) y Objeto 2 (b) cumple con la condición que puse, es decir, que estén presentes los objetos a y b, pero no el c. Asimismo, la solución Objeto 1 (a) y Objeto 4 (a y b), también cumple con esa condición. El objeto a está repetido dos veces, pero da igual, no es condicionante. Lo único que me interesa es que estén presentes los objetos a y b en la combinación.

Estoy totalmente de acuerdo contigo en que el filtro que hecho, descartando el elemento c, no es correcto. En este caso concreto ha salido bien, pero de pura chiripa. Precisamente el motivo de mi mail era ver si podíais ayudarme a resolver este problema.

Muchas gracias por contestar y saludos!



Jose Ignacio

2016-04-27 20:51 GMT+02:00 Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com>:
Estimado
 
No comprendo que desea, por ejemplo en su ejemplo 1, valga la redundancia, dice solución Objeto 1, Objeto 2, a la pegunta de, están presentes a y b, pero el objeto uno y como el dos solo tienen un elemento, no un par, la condición SOLO A y B, está en el objeto 4.
 
Creo que usted descarta el elemento C, no analiza las combinaciónes. 
 
Javier Rubén Marcuzzi
 
De: giltrapo
Enviado: miércoles, 27 de abril de 2016 12:49
Para: r-help-es en r-project.org
Asunto: [R-es] Combinaciones sin repetición...con restricciones
 
Hola, tengo que resolver un problema para el que normalmente utilizaría
excel, pero me gustaría intentar resolverlo con R. Se trata de lo siguiente:
 
Tengo tres elementos: a, b y c.
 
Dichos elementos están agrupados en siete objetos, producto de todas las
combinaciones sin repetición posibles:
 
Objeto 1: a
Objeto 2: b
Objeto 3: c
Objeto 4: a y b
Objeto 5: a y c
Objeto 6: b y c
Objeto 7: a, b y c
 
Mi objetivo es obtener todas las combinaciones sin repetición posibles de
orden n, en las que estén presentes, única y exclusivamente, los elementos
que yo elija.
 
Ejemplo 1: ¿en cuántas combinaciones sin repetición de los objetos
anteriores, tomados de dos en dos, están presentes los elementos a y b
(SÓLO a y b)?
 
Solución:
(Objeto 1, Objeto 2)
(Objeto 1, Objeto 4)
(Objeto 2, Objeto 4).
 
Un paso más allá consistiría en obtener todas las combinaciones sin
repetición posibles de cualquier orden, en las que estén presentes, única y
exclusivamente, los elemento que yo elija.
 
Ejemplo 2: ¿en cuántas combinaciones sin repetición de cualquier orden de
los objetos anteriores están presentes los elementos a y b (SÓLO a y b)?
 
Solución:
(Objeto 4)
(Objeto 1, Objeto 2)
(Objeto 1, Objeto 4)
(Objeto 2, Objeto 4)
(Objeto 1, Objeto 2, Objeto 4)
 
Para hacerlo en R me planteé el primer ejemplo: ¿en cuántas combinaciones
sin repetición de los objetos anteriores, tomados de dos en dos, están
presentes los elementos a y b (SÓLO a y b)?
 
df <- as.data.frame(t(combn(c("a", "b", "c", "a,b", "a,c", "b,c",
"a,b,c"),2)))
df <- df[!grepl("c", df$V1),]
df <- df[!grepl("c", df$V2),]
 
El problema es que este código me resuelve este caso concreto, pero no
otros similares. He intentado crear una función que me permita resolver
otro casos, como por ejemplo el ejemplo 2, pero no doy con la forma
adecuada de plantearlo.
 
¿Se os ocurre alguna forma?
 
Muchas gracias!
 
Jose Ignacio
 
                [[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