I impilato con il tentativo di passare la variabile attraverso poche funzioni, e sulla funzione finale voglio ottenere il nome della variabile originale. Ma sembra che la funzione sostitutiva in R guardasse solo in ambiente "locale", o solo per un livello superiore. Beh, mi permetta di spiegare che per codice:Come ottenere il nome della variabile in R (sostituto)?
fun1 <- function (some_variable) {deparse(substitute(some_variable)}
fun2 <- function (var_pass) { fun1 (var_pass) }
my_var <- c(1,2) # I want to get 'my_var' in the end
fun2 (my_var) # > "var_pass"
Beh, sembra che abbiamo la stampa del nome della variabile che passa solo al fun1. La documentazione del sostituto ci dice che possiamo usare l'argomento env per specificare dove possiamo guardare. Ma passando Globale o .BaseNamespaceEnv come argomento per sostituire ho avuto ancora più strani risultati - "some_variable"
Credo che la risposta è in questa funzione con l'utilizzo di argomento env, così, la prego di spiegare come funziona e come posso ottenere ciò di cui ho bisogno. Grazie in anticipo!
Abbastanza sicuro che "The R-Inferno" tocca questo. A proposito, suppongo che volevi chiamare 'fun1' all'interno di' fun2' con 'var_pass'? –
Oh, grazie! Sì, intendevo fun1 (var_pass). – EvilAnton
Perché hai bisogno del nome in primo luogo. C'è probabilmente un'alternativa buona e più semplice. –