Tablas de contingencia en programación R

Requisito previo: estructuras de datos en programación R Las
tablas de contingencia son muy útiles para condensar una gran cantidad de observaciones en más pequeñas para facilitar el mantenimiento de las tablas. Una tabla de contingencia muestra la distribución de una variable en las filas y otra en sus columnas. Las tablas de contingencia no solo son útiles para condensar datos, sino que también muestran las relaciones entre variables. Son una forma de resumir variables categóricas. Una tabla de contingencia que se ocupa de una sola tabla se denomina tabla de contingencia compleja o plana.

Hacer tablas de contingencia

Una tabla de contingencia es una forma de volver a dibujar datos y ensamblarlos en una tabla. Y muestra el diseño de los datos originales de una manera que permite al lector obtener un resumen general de los datos originales. La función table() se usa en R para crear una tabla de contingencia. La función table() es una de las funciones más versátiles de R. Puede tomar cualquier estructura de datos como argumento y convertirla en una tabla. Cuanto más complejos son los datos originales, más compleja es la tabla de contingencia resultante. 

Creación de tablas de contingencia a partir de Vectores

En R, un vector es una colección ordenada de tipos de datos básicos de una longitud dada. La única clave aquí es que todos los elementos de un vector deben ser del mismo tipo de datos, por ejemplo, estructuras de datos homogéneas. Los vectores son estructuras de datos unidimensionales. Es el objeto de datos más simple a partir del cual puede crear una tabla de contingencia.

Ejemplo:  

Python3

# R program to illustrate
# Contingency Table
 
# Creating a vector
vec = c(2, 4, 3, 1, 6, 3, 2, 1, 4, 5)
 
# Creating contingency table from vec using table()
conTable = table(vec)
print(conTable)

Producción: 

vec
1 2 3 4 5 6 
2 2 2 2 1 1 

En el programa dado, lo que sucede es primero cuando ejecutamos el comando table() en el vector, ordena el valor del vector y también imprime las frecuencias de cada elemento dado en el vector.

Creación de tablas de contingencia a partir de datos

Ahora veremos un ejemplo simple que proporciona un marco de datos que contiene valores de caracteres en una columna y también contiene un factor en una de sus columnas. Esta columna de factores contiene variables de carácter. Para crear nuestra tabla de contingencia a partir de datos, haremos uso de la tabla(). En el siguiente ejemplo, la función table() devuelve una tabla de contingencia. Básicamente, devuelve un resultado tabular de las variables categóricas.

Ejemplo:  

Python3

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table from data using table()
conTable = table(df)
print(conTable)

Producción: 

           Gender
 Name    Female Male
 Amiya      0    1
 Asish      0    1
 Rosy       1    0

Creación de tablas de contingencia personalizadas

La tabla de contingencia en R se puede crear utilizando solo una parte de los datos, lo que contrasta con la recopilación de datos de todas las filas y columnas. Podemos crear una tabla de contingencia personalizada en R de las siguientes maneras: 

  • Uso de columnas de un marco de datos en una tabla de contingencia
  • Uso de filas de un marco de datos en una tabla de contingencia
  • Al rotar marcos de datos en R
  • Creación de tablas de contingencia a partir de objetos de array en R
     
  • Uso de columnas de un marco de datos en una tabla de contingencia: con la ayuda del comando table(), podemos especificar las columnas con las que se pueden crear las tablas de contingencia. Para hacerlo, solo necesita pasar el nombre de los objetos vectoriales en el parámetro del comando table(). 
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table by selecting a column
conTable = table(df$Name)
print(conTable)

Producción: 

Amiya Asish  Rosy 
    1     1     1 

A partir de la salida, puede notar que el comando table() ordena el nombre en orden alfabético junto con sus frecuencias de aparición.

  • Uso de filas de un marco de datos en una tabla de contingencia: no podemos crear una tabla de contingencia usando filas de un marco de datos directamente como lo hicimos en la parte «usando la columna». Con la ayuda de la array, podemos crear una tabla de contingencia observando las filas de un marco de datos.
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table by selecting rows
conTable = table(as.matrix(df[2:3, ]))
print(conTable)

Producción: 

Asish Female   Male   Rosy 
  1      1      1      1 
  • Al rotar marcos de datos en R: también podemos crear una tabla de contingencia al rotar un marco de datos en R. Podemos realizar una rotación de los datos, es decir, transponer los datos usando el comando t() .
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Rotating the data frame
newDf = t(df)
 
# Creating contingency table by rotating data frame
conTable = table(newDf)
print(conTable)

Producción: 

newDf
Amiya  Asish Female   Male   Rosy 
  1      1      1      2      1 
  • Creación de tablas de contingencia a partir de objetos de array en R Una array es una disposición rectangular de números en filas y columnas. En una array, como sabemos, las filas son las que se ejecutan horizontalmente y las columnas son las que se ejecutan verticalmente. Las arrays son estructuras de datos bidimensionales y homogéneas. Podemos crear una tabla de contingencia usando este objeto de array.
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a matrix
A = matrix(
  c(1, 2, 4, 1, 5, 6, 2, 4, 7),
  nrow = 3,
  ncol = 3
)
 
# Creating contingency table using matrix object
conTable = table(A)
print(conTable)

Producción: 

A
1 2 4 5 6 7 
2 2 2 1 1 1 

Convertir objetos en tablas

Como se mencionó anteriormente, una tabla es un tipo especial de objeto de datos que es similar a la array pero también posee varias diferencias.

  • Conversión de objetos de array en tablas: podemos convertir directamente un objeto de array en una tabla usando el comando as.table() . Simplemente pase el objeto array como parámetro al comando as.table() .
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a matrix
A = matrix(
  c(1, 2, 4, 1, 5, 6, 2, 4, 7),
  nrow = 3,
  ncol = 3
)
 
# Converting Matrix Objects into tables
newTable = as.table(A)
print(newTable)

Producción: 

  A B C
A 1 1 2
B 2 5 4
C 4 6 7
  • Conversión de objetos de marco de datos en tablas: no podemos convertir directamente un objeto de marco de datos en una tabla usando el comando as.table() . En el caso de un marco de datos, el objeto se puede convertir en la array y luego se puede convertir en la tabla usando el comando as.table()
    Ejemplo:

Python3

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Converting data frame object to matrix object
modifiedDf = as.matrix(df)
 
# Converting Matrix Objects into tables
newTable = as.table(modifiedDf)
print(newTable)

Producción: 

  Name  Gender
A Amiya Male  
B Rosy  Female
C Asish Male 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *