cheat Errore "contesto variabile non impostato" con mutate_at, versione dplyr>=0,7



tidy r (1)

Questo codice funzionava, a partire dal 1 maggio 2017 ( dplyr versione 0.5.0). Con dplyr versione 0.7 fallisce con Error: Variable context not set . Non sono riuscito a trovare la soluzione su cui cercare o cercare nel file NEWS dplyr .

Questa parte va bene (impostando l'esempio - potrebbe probabilmente essere semplificata ...)

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")))

Ora prova ad usare mutate_at() : fallisce con dplyr version> = 0.7.0

hw1 %>% mutate_at(starts_with("HW"),repl_1_NA)

Answer #1

Quando si utilizza starts_with() come selettore di colonna per mutate_at , ora è necessario avvolgerlo in vars() , quindi la riga di codice finale dovrebbe essere letta

hw1 %>% mutate_at(vars(starts_with("HW")),repl_1_NA)

L'ho capito guardando la soluzione a questa domanda e ho pensato di postarla qui come un cartello per gli altri ...





dplyr