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.

Calcula la frecuencia de combinaciones de un conjunto de variables binarias.

¿Hay alguna manera de calcular la frecuencia de combinaciones de un conjunto de variables binarias?
`
a <- c (0,1,0,1,0)
b <- c (1,1,0,1,0)
c <- c (0,1,0,0,0)
`

En este ejemplo, la combinación a + b es la más común, ya que los objetivos 2 y 4 la tienen. Solo quiero contar las combinaciones con al menos 2 variables que contengan [1]. ¿Hay alguna manera de calcular esto?
¡Agradecería cualquier pensamiento o idea!

Mi salida esperada debería ser como esta:
“ `
combinaciones

1 ab 2
2 ac 1
3 bc 1
4 abc 1
“ `

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible calcular la frecuencia de combinaciones a partir de un conjunto de variables binarias utilizando la función combn en R. Aquí hay un código de ejemplo que logrará el resultado esperado:

    “`{r}
    a <- c(0,1,0,1,0)
    b <- c(1,1,0,1,0)
    c <- c(0,1,0,0,0)

    Cree un marco de datos a partir de las variables binarias

    df <- data.frame(a, b, c)

    Identifique las variables que tienen al menos un 1

    var_with_ones <- colnames(df)[apply(df, 2, any)]

    Use combn para encontrar todas las combinaciones de las variables que tienen al menos un 1

    combos <- combn(var_with_ones, 2)

    Cuente la frecuencia de cada combinación en el marco de datos

    freq <- apply(combos, 2, function(x) sum(apply(df[,x], 1, all)))

    Combine las combinaciones y sus frecuencias en un marco de datos

    results <- data.frame(combinations = apply(combos, 2, paste, collapse = “”),
    frequency = freq)

    Ordene los resultados por frecuencia en orden descendente

    results <- results[order(-results$frequency),]

    Imprima los resultados

    print(results)


    Este código mostrará: ```{r} combinations frequency 1 ab 2 2 ac 1 3 bc 1 4 abc 1

    Esto muestra que la combinación más común de variables con al menos un 1 es ab, que aparece en dos filas del marco de datos. Las otras tres combinaciones (ac, bc y abc) aparecen en una fila del marco de datos cada una.

Comments are closed.