Problema
De un data frame deseamos eliminar usando dplyr aquellas variables cuyos nombres suministramos en un vector de caracteres. Por ejemplo, del siguiente vector deseamos eliminar la variable B.
set.seed(201512)
df <- data.frame(A = runif(10), B = runif(10))
A B
1 0.5235130 0.032229763
2 0.2625372 0.059565071
3 0.6049460 0.792932236
4 0.5136619 0.809743021
5 0.5668388 0.001533767
6 0.4876062 0.155949532
7 0.2354488 0.490415100
8 0.5688439 0.165787477
9 0.5964628 0.807970900
10 0.4615434 0.380846012
Solución
Empleamos la función one_of, que sólo funciona dentro de la función select. Con ella seleccionamos, en este caso omitimos al ir precedida del signo negativo, aquellas variables suministradas en un vector de caracteres (omitir).
library(dplyr)
omitir <- c("B")# Vector de caracteres
df %>% select(-one_of(omitir))
A
1 0.5235130
2 0.2625372
3 0.6049460
4 0.5136619
5 0.5668388
6 0.4876062
7 0.2354488
8 0.5688439
9 0.5964628
10 0.4615434
Referencias
Entradas relacionadas
No hay comentarios:
Publicar un comentario