Foro de debate

funcion dar formato a tablas de contingencia

funcion dar formato a tablas de contingencia

de Andrés Necochea -
Número de respuestas: 0
Hola, les cuento. Hace tiempo estoy tratando de crear una función para dar un formato a las tablas de contingencia que sea similar a la de SPSS. Mi idea era incluir esta función en un plug in de rkward. Con la ayuda de Thomas Friedrichmeier, que participa en el foro developers de RKWard hicimos esta función:

bind.tables <- function (...) {
tables <- list (...)
output <- unlist (tables)
names <- attr(attributes(tables[[1]])$dimnames, "names")
dim (output) <- c (dim (tables[[1]]), length (tables))
dimnames(output) <- list (var1 = dimnames (tables[[1]])[[1]],
var2=dimnames(tables[[1]])[[2]], statistic=names (tables))
attr(dimnames(output), "names")[1] <- names[1]
attr(dimnames(output), "names")[2] <- names[2]
ftable (output, col.vars=names[2])
}

para usarlo generan primero las tablas:
tabla <- xtabs( ~ var1 + var2)
tabla.total <- prop.table(tabla)
tabla.fila <- prop.table(tabla, 1)
tabla.columna <- prop.table(tabla, 2)
tabla.esperados <- chisq.test(tabla)$expected

luego juntan las tablas con la función:
bind.tables("Frecuencias" = tabla, "% del total" = tabla.total, "%de la fila" = tabla.fila, "% de la columna" = tabla.columna, "Esperados" = tabla.esperados)

Aquí va un ejemplo de la salida:


var1 categ1 categ2
var2 statistic

categ1 Frecuencias 24.0000000 23.0000000

% del total 0.2400000 0.2300000

%de la fila 0.5106383 0.4893617

% de la columna 0.4800000 0.4600000

Esperados 23.5000000 23.5000000
categ2 Frecuencias 26.0000000 27.0000000

% del total 0.2600000 0.2700000

%de la fila 0.4905660 0.5094340

% de la columna 0.5200000 0.5400000

Esperados 26.5000000 26.5000000

Espero que les guste.