¿Cómo usar xtabs() en R para calcular frecuencias?

En este artículo, veremos diferentes métodos para usar la función xtabs() para calcular frecuencias en el lenguaje de programación R.

Función xtabs(): esta función se usa para crear una tabla de contingencia a partir de factores de clasificación cruzada, generalmente contenidos en un marco de datos, usando una interfaz de fórmula.

Sintaxis: xtabs(fórmula = ~., datos = parent.frame())

Parámetros:

  • fórmula; un objeto de fórmula con las variables de clasificación cruzada (separadas por +) en el lado derecho.
  • datos: una array o marco de datos opcional que contiene las variables en la fórmula. Por defecto, las variables se toman del entorno.

Método 1: Usar la función xtabs() para calcular la frecuencia unidireccional

En este método para calcular la frecuencia unidireccional, el usuario simplemente debe llamar a la función xtabs() y pasarla con la variable requerida para la cual se calculará la frecuencia y, además, devolverá la frecuencia de la variable única pasada. a la función en el lenguaje de programación R.

Ejemplo: en este ejemplo, tomaremos un marco de datos de cinco variables diferentes y luego, usando la función xtabs(), calcularemos la frecuencia sin pasar por la variable z en el lenguaje R,

R

data <- data.frame(v=rep(c('A', 'B', 'C'), 
                         times=c(20, 16, 14)),
                   w=rep(c('D', 'E', 'F'),
                         times=c(10, 10, 30)),
                   x=rep(c('G', 'H', 'I'),
                         times=c(15, 20, 15)),
                   y=rep(c('J', 'K', 'L'), 
                         times=c(16, 16,18)),
                   z=rep(c('M', 'N', 'O'), 
                         times=c(25, 15,10)))
  
xtabs(~z, data)

Producción:

 M  N  O 
25 15 10 

Método 2: Usar la función xtabs() para calcular la frecuencia bidireccional

En este método, el usuario puede obtener la frecuencia combinada usando la función xtabs() simplemente llamando a esta función y usando el signo ‘+’ al final de la primera variable, y luego escribiendo el nombre de la segunda variable para obtener la combinación. frecuencia de combinación tanto de la variable pasada como del parámetro de la función en el lenguaje de programación R.

Ejemplo: En este ejemplo, usaremos el mismo marco de datos que se usó en el ejemplo anterior para obtener la frecuencia de las variables w e y usando el signo ‘+’ con la función xtabs() en el lenguaje de programación R.

R

data <- data.frame(v=rep(c('A', 'B', 'C'), 
                         times=c(20, 16, 14)),
                   w=rep(c('D', 'E', 'F'), 
                         times=c(10, 10, 30)),
                   x=rep(c('G', 'H', 'I'),
                         times=c(15, 20, 15)),
                   y=rep(c('J', 'K', 'L'), 
                         times=c(16, 16,18)),
                   z=rep(c('M', 'N', 'O'),
                         times=c(25, 15,10)))
  
xtabs(~w+y, data)

Producción:

   y
w    J  K  L
  D 10  0  0
  E  6  4  0
  F  0 12 18

Método 3: Usar la función xtabs() para calcular la frecuencia de n vías

En este método para obtener las frecuencias usando la función xtabs(), el usuario puede obtener las frecuencias combinadas de la variable n- usando esta función simplemente agregando el signo ‘+’ entre las variables, y además esta función devolverá las frecuencias de las variables mencionadas en el lenguaje de programación R.

Ejemplo: En este ejemplo, calcularemos las frecuencias de todas las variables en el marco de datos utilizando el método de frecuencia de n vías de la función xtabs() en el lenguaje de programación R.

R

data <- data.frame(v=rep(c('A', 'B', 'C'),
                         times=c(20, 16, 14)),
                   w=rep(c('D', 'E', 'F'), 
                         times=c(10, 10, 30)),
                   x=rep(c('G', 'H', 'I'),
                         times=c(15, 20, 15)),
                   y=rep(c('J', 'K', 'L'),
                         times=c(16, 16,18)),
                   z=rep(c('M', 'N', 'O'), 
                         times=c(25, 15,10)))
  
xtabs(~v+w+x+y+z, data)

Producción:

, , x = G, y = J, z = M

   w
v    D  E  F
  A 10  5  0
  B  0  0  0
  C  0  0  0

, , x = H, y = J, z = M

   w
v    D  E  F
  A  0  1  0
  B  0  0  0
  C  0  0  0

, , x = I, y = J, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = K, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = K, z = M

   w
v    D  E  F
  A  0  4  0
  B  0  0  5
  C  0  0  0

, , x = I, y = K, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = L, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = L, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = I, y = L, z = M

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = J, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = J, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = I, y = J, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = K, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = K, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  7
  C  0  0  0

, , x = I, y = K, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = L, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = L, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  3
  C  0  0  0

, , x = I, y = L, z = N

   w
v    D  E  F
  A  0  0  0
  B  0  0  1
  C  0  0  4

, , x = G, y = J, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = J, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = I, y = J, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = K, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = K, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = I, y = K, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = G, y = L, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = H, y = L, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0  0

, , x = I, y = L, z = O

   w
v    D  E  F
  A  0  0  0
  B  0  0  0
  C  0  0 10

Publicación traducida automáticamente

Artículo escrito por geetansh044 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 *