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-10-14

Comprobar si una celda contiene un hipervínculo


Problema

Necesitamos comprobar mediante una fórmula si unas celdas contienen un hipervínculo.

Solución

  1. Abrimos el Editor de Microsoft Visual Basic: Alt+F11.
  2. Creamos la siguiente función en un módulo.
    • Function ESHIPERVINCULO(r As Range) As Boolean
        ESHIPERVINCULO = r.Hyperlinks.Count
      End Function
      
  3. Usamos la función recién creada ESHIPERVINCULO en cualquier celda.
Es importante recalcar que la fórmula nos indica si hay un hipervínculo, no si éste es válido.

Entradas relacionadas

Referencias

Nube de datos