Recuento de frecuencia de múltiples variables en R Dataframe

Un marco de datos puede contener valores repetidos o faltantes. Cada columna puede contener cualquier número de instancias duplicadas o repetidas de la misma variable. Las estadísticas y el análisis de datos se basan principalmente en la tarea de calcular la frecuencia o el recuento de la cantidad de instancias que contiene una variable particular dentro de cada columna y, en el lenguaje de programación R, hay varias formas de hacerlo. 

Método 1: Usando el método apply()

El método apply en base R devuelve un vector o arreglo o lista de valores obtenidos al aplicar una función a los márgenes de un arreglo o array. Tiene la siguiente sintaxis: 

apply ( df , axis , FUN)

El método table() toma los factores de clasificación cruzada que pertenecen a un vector para construir una tabla de contingencia de los conteos en cada combinación de niveles de factores. Una tabla de contingencia es básicamente una tabulación de los recuentos y/o porcentajes de múltiples variables. Excluye el conteo de cualquier valor faltante de la variable de factor suministrada al método. La salida devuelta tiene la forma de una tabla. Este método se puede utilizar para la tabulación cruzada y el análisis estadístico.

Ejemplo 1: Aquí regresamos por columnas para todas las columnas del marco de datos, indicando las frecuencias de las instancias de valor variable que ocurren en esa columna en particular. 

R

set.seed(1)  
# creating a data frame
data_frame <- data.frame(col1 =  sample(letters[1:3], 8,
                                        replace = TRUE),
                         col2 =  sample(letters[1:3], 8, 
                                        replace = TRUE),
                         col3 =  sample(letters[1:3], 8,
                                        replace = TRUE),
                         col4 =  sample(letters[1:3], 8, 
                                        replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_frame)
  
# calculating frequency of multiple variables
mod_frame <- apply(data_frame, 2 , table)
print ("Frequencies")
print (mod_frame)

Producción:

[1] "Original DataFrame" 
col1 col2 col3 col4 
1    a    b    b    a 
2    c    c    b    b 
3    a    c    c    a 
4    b    a    a    a 
5    a    a    c    b 
6    c    a    a    b 
7    c    b    a    b 
8    b    b    a    a 
[1] "Frequencies" 
$col1

a b c 
3 2 3 

$col2  
a b c  
3 3 2  
 $col3  
a b c  
4 2 2   
$col4  
a b  
4 4 

Ejemplo 2: solo para columnas específicas también, especificando los nombres de columna deseados en forma de vector y dirigiéndolos usando la indexación de tramas de datos df[cols]. La salida se devuelve en forma de tabla, donde los encabezados de columna son los nombres de columna deseados y el encabezado de fila son los diferentes valores encontrados. 

R

set.seed(1)  
  
# creating a data frame
data_frame <- data.frame(col1 =  sample(letters[1:3], 8,
                                        replace = TRUE) ,
                         col2 =  sample(letters[1:3], 8, 
                                        replace = TRUE),
                         col3 =  sample(letters[1:3], 8,
                                        replace = TRUE),
                         col4 =  sample(letters[1:3], 8, 
                                        replace = TRUE)
                        )
  
print ("Original DataFrame")
print (data_frame)
sel_col <- c("col1", "col3")
  
# calculating frequency of multiple variables
mod_frame <- apply(data_frame[sel_col], 2, table)
print ("Frequencies")
print (mod_frame)

Producción:

[1] "Original DataFrame"
col1 col2 col3 col4
1    a    b    b    a
2    c    c    b    b
3    a    c    c    a
4    b    a    a    a
5    a    a    c    b
6    c    a    a    b
7    c    b    a    b
8    b    b    a    a 
[1] "Frequencies" 
col1 col3 
a    3    4 
b    2    2 
c    3    2

Método 2: Usar el paquete plyr

El paquete plyr se utiliza preferentemente para experimentar con los datos, es decir, crear, modificar y borrar las columnas del marco de datos, al someterlas a múltiples condiciones y funciones definidas por el usuario. Se puede descargar y cargar en el espacio de trabajo con el siguiente comando:

install.packages("lpyr")

El método count() de este paquete se usa para devolver un conteo de frecuencia de la variable contenida en las columnas especificadas respectivamente. Puede contener varias columnas y todas las combinaciones posibles se generan según la unión cruzada. Las combinaciones únicas de ellos se devuelven junto con sus respectivos recuentos. 

count (df , args..) , where args.. are the column names

La salida devuelve solo la columna especificada en el método count(). 

R

library("plyr")
set.seed(1)  
  
# creating a data frame
data_frame <- data.frame(col1 =  sample(letters[1:3], 8,
                                        replace = TRUE) ,
                         col2 =  sample(letters[1:3], 8,
                                        replace = TRUE),
                         col3 =  sample(letters[1:3], 8,
                                        replace = TRUE),
                         col4 =  sample(letters[1:3], 8,
                                        replace = TRUE)
)
  
print ("Original DataFrame")
print (data_frame)
sel_col <- c("col1")
  
# calculating frequency of multiple variables
mod_frame <- count(data_frame, sel_col)
print ("Frequencies")
print (mod_frame)

Producción:

[1] "Original DataFrame"
col1 col2 col3 col4
1    a    b    b    a
2    c    c    b    b
3    a    c    c    a
4    b    a    a    a
5    a    a    c    b
6    c    a    a    b
7    c    b    a    b
8    b    b    a    a 
[1] "Frequencies"
  col1 freq 
1    a    3 
2    b    2 
3    c    3

Publicación traducida automáticamente

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