[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