Contar valores únicos en R

En este artículo, veremos cómo podemos contar valores únicos en el lenguaje de programación R.

Ejemplo:

Entrada:   1 2 3 2 4 5 1 6 8 9 8 6 6 6 6

Salida : 8

Método 1: Usar la función length(unique())

La función Unique() cuando se le proporciona una lista solo dará los únicos de ella. La función length() posterior puede calcular la frecuencia.

Sintaxis: 

longitud (único (objeto)

Ejemplo 1:

R

# Sample vector
v<-c(1,2,3,2,4,5,1,6,8,9,8,6,6,6,6)
v
  
print("Unique values")
  
# count unique elements
length(unique(v))

Producción:

 [1] 1 2 3 2 4 5 1 6 8 9 8 6 6 6 6

[1] “Valores únicos”

[1] 8

Con una lista con múltiples valores NA, se contará como 1 entidad separada.

Ejemplo 2:

R

# Sample vector
v<-c(NA,2,NA,3,2,4,5,1,6,8,9,8,6,6,6,6)
v
  
print("Unique values")
  
# count unique elements
length(unique(v))

Producción:

 [1] NA 2 NA 3 2 4 5 1 6 8 9 8 6 6 6 6

[1] “Valores únicos”

[1] 9

Ejemplo 3:

R

# Sample dataframe
df<-data.frame(c1=c(NA,2,NA,3,2,4),c2=c(5,1,6,6,6,6))
df
  
print("Unique values")
  
# count unique elements
length(unique(df$c1))

Producción:

 c1 c2

1 NA 5

2 2 1

3 NA 6

4 3 6

5 2 6

6 4 6

[1] “Valores únicos”

[1] 4

Este método no es aplicable para arrays.

Ejemplo 4:

R

# Sample matrix
mat<-matrix(c(NA,2,NA,3,2,4,5,1,6,6,6,6),ncol=3)
mat
  
print("Unique values")
  
# count unique elements
length(unique(mat))

Producción:

 [,1] [,2] [,3]

[1,] NA 2 6

[2,] 2 4 6

[3,] NA 5 6

[4,] 3 1 6

[1] “Valores únicos”

[1] 12

Método 2: Usar la función table()

Usaremos la función table() para obtener el recuento de valores únicos. La función table() en R Language se usa para crear una representación categórica de datos con el nombre de la variable y la frecuencia en forma de tabla.

Sintaxis

tabla (objeto)

Ejemplo 1:

R

v <- c(5,NA,NA,2,3,4,5,3,7,8,9,5)
v
  
print("Count of unique values")
table(v)

Producción:

 [1] 5 NA NA 2 3 4 5 3 7 8 9 5

[1] “Recuento de valores únicos”

v

2 3 4 5 7 8 9

1 2 1 3 1 1 1 

Ejemplo 2:

R

# Sample dataframe
df<-data.frame(c1=c(NA,2,NA,3,2,4),c2=c(5,1,6,6,6,6))
df
  
print("Unique values")
  
# count unique elements
table(df$c2)

Producción:

 c1 c2

1 NA 5

2 2 1

3 NA 6

4 3 6

5 2 6

6 4 6

[1] “Valores únicos”

1 5 6

1 1 4 

Ejemplo 3:

R

# Sample matrix
mat<-matrix(c(NA,2,NA,3,2,4,5,1,6,6,6,6),ncol=3)
mat
  
print("Unique values")
  
# count unique elements
table(mat)

Producción:

     [,1] [,2] [,3]

[1,] NA 2 6

[2,] 2 4 6

[3,] NA 5 6

[4,] 3 1 6

[1] “Valores únicos”

estera

1 2 3 4 5 6

1 2 1 1 1 4 

Método 3: Convertir la salida en un marco de datos usando la función as.data.frame()

Este método devolverá la frecuencia individual de cada elemento.

Sintaxis: 

as.data.frame(tabla(v))   

Ejemplo:

R

# Sample vector
v<-c(1,2,3,2,4,5,1,6,8,9,8,6,6,6,6)
v
  
print("Count of Unique values")
  
as.data.frame(table(v))

Producción:

 [1] 1 2 3 2 4 5 1 6 8 9 8 6 6 6 6

[1] “Recuento de valores únicos”

  v Frecuencia

1 1 2

2 2 2

3 3 1

4 4 1

5 5 1

6 6 5

7 8 2

8 9 1

Método 4: Usar la función de agregado()

La función de agregado() siempre devolverá un marco de datos que contiene todos los valores únicos del marco de datos de entrada después de aplicar la función específica. Solo podemos aplicar una sola función dentro de una función agregada

Sintaxis: agregado (datos.marco (recuento = v), lista (valor = v), longitud)

Parámetros:

fórmula : la(s) variable(s) del marco de datos de entrada en el que queremos aplicar funciones.

data : los datos que queremos usar para agrupar por operación.

función : la función o cálculo a aplicar.

Ejemplo:

R

# Sample vector
v<-c(1,2,3,2,4,5,1,6,8,9,8,6,6,6,6)
v
  
print("Count of Unique values using aggregate() function")
  
aggregate(data.frame(count = v), list(value = v), length)

Producción:

 [1] 1 2 3 2 4 5 1 6 8 9 8 6 6 6 6

[1] «Recuento de valores únicos usando la función de agregado()»

  recuento de valor

1 1 2

2 2 2

3 3 1

4 4 1

5 5 1

6 6 5

7 8 2

8 9 1

Publicación traducida automáticamente

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