Mostrando entradas con la etiqueta Duplicados. Mostrar todas las entradas
Mostrando entradas con la etiqueta Duplicados. Mostrar todas las entradas

2017-10-16

Eliminar columnas con nombres duplicados de un data frame en R

Problema

Queremos eliminar las columnas con nombres duplicados de un data frame en R.

df <- data.frame(a = 1:2, b = 1:2, 
                 c = 1:2, a = 2:3, 
                 a = 2:3, b = 2:3, 
                 check.names = F)
  a b c a a b
1 1 1 1 2 2 2
2 2 2 2 3 3 3

Solución

  • Base
  • df[, !duplicated(df)] # o bien
    df[, unique(df)]
    
     a b c
    1 1 1 1
    2 2 2 2
    
  • dplyr
  • Empleamos funciones del paquete base pero evitamos los corchetes para hacerla más legible.

    library(dplyr)
    df %>% subset(select = !duplicated(names(.))) # o bien
    df %>% subset(select = unique(names(.)))
    

2017-01-09

Contar elementos únicos con una tabla dinámica en Excel

Problema

Queremos contar los elementos únicos de un campo mediante una tabla dinámica en Excel.

Solución

Antes del Excel 2013 esto no era posible. Con Excel 2013, 2016 y Office 365 es posible emplear la función de resumen Recuento distinto, siempre que usemos el modelo de datos en Excel.

  1. Al crear la tabla dinámica, seleccionamos: Agregar estos datos al modelo de datos y hacemos clic en Aceptar.
  2. Añadimos el campo que queremos contar en el área valores
  3. Clic en la flecha situada a la derecha del nombre del campo y luego selecciona la opción de Configuración de campo de valor.
  4. En Resumir campo de valor por seleccionamos Recuento distinto y clic en Aceptar.

Resultado

Se puede apreciar como el campo Recuento distinto de Campo 2 cuenta los elementos únicos. Mientras que Recuento de Campo 2 el número de valores no vacíos, el equivalente a CONTARA.

Referencias

Entradas relacionadas

2014-08-06

Moda de serie alfanumérica y duplicados en un rango

Anteriormente vimos cómo calcular el valor más repetido en una serie de datos en la que no hay ningún valor exactamente igual. Esta vez queremos calcular la moda de una serie de valores de texto.

La función MODA no funciona con texto. Tenemos que recurrir introducir otras funciones para obtener el resultado deseado.

C1 = INDICE(A2:A19;MODA(COINCIDIR(A2:A17;A2:A17;0)))
D1 = CONTAR.SI(A2:A19;C2)

Duplicados en un rango

En D1 tenemos el número de repeticiones del texto encontrado en C1. Para obtener el número máximo de repeticiones o duplicados en un rango (tanto texto como números), usamos la siguiente fórmula matricial (Ctrl+Mayús+Entrar):

{=MAX(CONTAR.SI(A2:A19;A2:A19))}

Referencias

Most Frequently Occurring Word

2013-03-08

Contar elementos únicos en una lista (2/2)

Cuando el rango contenga alguna celda en blanco:












La fórmula utilizada en la entrada anterior nos daría un error, pues crearía una fracción 1/0 que genera el error #¡DIV/0! Para evitarlo utilizamos:

1. La sugerida por Microsoft válida para Excel 2003 y Excel 2007:
{=SUMA(SI(LARGO(B3:E7);1/CONTAR.SI(B3:E7;B3:E7)))}
2. O la más sencilla y directa, válida desde Excel 2007 en adelante:
{=SUMA(SI.ERROR(1/CONTAR.SI(B3:E7;B3:E7);0))}

La primera fórmula crea una matriz de verdaderos (número de caracteres de la cadena de texto de cada celda, 13 en este caso en todas) y falsos (ceros). Cuando es falso no calcula el 1/CONTAR.SI evitando generar la fracción 1/0. En la segunda fórmula, cuando 1/CONTAR.SI genera un error, lo sustituye por un cero, y continua con el cálculo.











2013-03-01

Contar elementos únicos en una lista (1/2)

Un problema bien documentado, incluido en la ayuda de microsoft y diversos blogs, es el de contar el número de elementos únicos en una lista o rango.












En este caso, 12 valores únicos :
{=SUMA(1/CONTAR.SI(B3:E7;B3:E7))}
Con menos éxito explican el funcionamiento de la fórmula matricial (Ctrl+Mayús+Entrar). Genera tantas fracciones como celdas tiene el rango y suma su valor. Cada fracción es igual a 1/nº repeticiones. Si es único 1/1, si está repetido cuatro veces habrá cuatro veces 1/4 . Un valor único sumará uno, y otro repetido n veces también sumará 1: n * (1/n). Así, al sumar todas las fracciones tendremos el total de valores únicos: 12 en este caso.












Entradas relacionadas: Contar elementos únicos en una lista (2/2)
Nube de datos