Ich stapelte mit dem Versuch, Variable durch wenige Funktionen zu übergeben, und auf die letzte Funktion möchte ich den Namen der ursprünglichen Variablen erhalten. Aber es sieht so aus, als ob die Ersatzfunktion in R nur in einer "lokalen" Umgebung oder nur für eine Ebene höher wäre. Nun, lassen Sie mich erklären es durch Code:Wie Name der Variablen in R (Ersatz) erhalten?
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"
Nun, es scheint, als ob wir den Namen der variablen Druck, die sich nur auf die fun1 passieren. Die Dokumentation des Ersatzes sagt uns, dass wir env Argument verwenden können, um anzugeben, wo wir hinschauen können. Aber indem .Global oder .BaseNamespaceEnv als Argument zu ersetzen Ich habe noch mehr seltsame Ergebnisse - „some_variable“
Ich glaube, die Antwort in dieser Funktion ist env Argument mit der Verwendung, so könnten Sie bitte erklären, mir wie es funktioniert und wie ich bekomme was ich brauche. Danke im Voraus!
Ziemlich sicher "The R-Inferno" berührt dies. Übrigens, ich nehme an, du wolltest 'fun1' in' fun2' mit 'var_pass' nennen? –
Oh, danke! Ja, ich meinte fun1 (var_pass). – EvilAnton
Warum brauchen Sie den Namen an erster Stelle? Es gibt wahrscheinlich eine gute, einfachere Alternative. –