es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear combinaciones de todos los elementos en una lista.

Estoy creando una función que requiere que el usuario introduzca las variables de entrada y luego la función crea todas las posibles combinaciones (de diferentes longitudes) de esos parámetros de entrada. Supongamos que las variables de entrada son “A”, “B” y “C”.

Número de combinación Input1 Input2 Input3
1 A B C|
2 A B |
3 A |
4 B C|
5 B |
6 A C|
7 C

Quiero que R forme todas las posibles combinaciones de A, B y C y cree un marco de datos para ello. Por ejemplo:

¿Alguna idea de cómo puedo lograr esto?
¡Gracias!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, se puede utilizar la función combn() en R para generar todas las posibles combinaciones de las variables de entrada dadas. La sintaxis de la función es la siguiente:

    combn(x, m, simplify = TRUE)

    Donde x es el vector de las variables de entrada, m es la longitud de las combinaciones que desea generar, y simplify = TRUE indica que desea la salida en formato de matriz. Aquí hay un ejemplo de código para lograr esto:

    # Definir las variables de entrada
    inputs <- c("A", "B", "C")
    
    # Generar todas las posibles combinaciones
    combinations <- matrix(unlist(lapply(1:length(inputs), function(x) combn(inputs, x))), ncol = length(inputs), byrow = TRUE)
    
    # Agregar los números de combinación
    combinations <- data.frame(Combinación = 1:nrow(combinations), combinations)
    
    # Renombrar columnas
    colnames(combinations) <- c("Número de combinación", "Input1", "Input2", "Input3")
    
    # Imprimir salida
    combinations
    

    Esto le dará el dataframe de salida deseado como se muestra en la tabla anterior.

Comments are closed.