Prendete questo oggetto come un esempio:trovare facilmente e sostituzione ogni partita in un elenco nidificato
expr <- substitute(mean(exp(sqrt(.)), .))
Si tratta di un elenco nidificato. Voglio trovare ogni elemento che corrisponde a quote(.)
.
Ad esempio, la soluzione s' magrittr
corrisponde solo il primo livello della chiamata:
dots <- c(FALSE, vapply(expr[-1], identical, quote(.),
FUN.VALUE = logical(1)))
dots
[1] FALSE FALSE TRUE
ma volevo trovare ogni '' in una lista annidata arbitraria. In questo caso particolare questo sarebbe questi due punti:
expr[[3]]
expr[[2]][[2]][[2]]
e poi questi punti devono essere sostituiti:
expr[[3]] <- as.name("replacement")
expr[[2]][[2]][[2]] <- as.name("replacement")
expr
# mean(exp(sqrt(replacement)), replacement)
Come si farebbe questo?
+1 veramente bello. –