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: [email protected] 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 [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
