studio - Error de "contexto variable no establecido" con mutate_at, dplyr versión>=0.7
tidyr r (1)
Este código solía funcionar, a partir del 1 de mayo de 2017 (versión dplyr
0.5.0). Con la versión 0.7 de dplyr
falla con Error: Variable context not set
. No pude encontrar la solución buscando en Google o buscando en el archivo NEWS de dplyr .
Esta parte está bien (configurar el ejemplo, probablemente podría simplificarse ...)
xx <- data.frame(stud_number=1:3,HW1=rep(0,3),HW2=c(NA,1,1),junk=rep(NA,3))
repl_1_NA <- function(x) { return(replace(x,which(x==1),NA)) }
hw1 <- xx %>% select(c(stud_number,starts_with("HW")))
Ahora intente usar mutate_at()
: falla con la versión dplyr
> = 0.7.0
hw1 %>% mutate_at(starts_with("HW"),repl_1_NA)
Cuando se usa starts_with()
como el selector de columna para mutate_at
, ahora necesitamos envolverlo en vars()
, por lo que la línea de código final debe leer
hw1 %>% mutate_at(vars(starts_with("HW")),repl_1_NA)
Descubrí esto mirando la solución a esta pregunta y pensé que la publicaría aquí como una señal para otros ...