Was ist der Eltern-Frame von R. Übrigens, was bedeutet Eltern-Frame? Ich schätze, es ist die definierende Umgebung, anstatt die Umgebung aufzurufen, da R lexikalisches Scoping verwendet, aber ich bin mir nicht sicher. Vielen Dank.Was ist der Eltern-Frame von R
Antwort
Nun, aus der ?parent.frame
Hilfeseite
Der übergeordnete Rahmen einer Funktionsauswertung ist die Umgebung, in der die Funktion aufgerufen wurde. Es ist nicht unbedingt eine Nummer weniger als die Rahmennummer der aktuellen Auswertung nummeriert, noch ist es die Umgebung, in der die Funktion definiert wurde. sys.parent gibt die Nummer des übergeordneten Rahmen, wenn n 1 (Standardwert) ist, die Großeltern, wenn n 2 ist, und so weiter
und auch
Streng, sys.parent und Mutter .frame bezieht sich auf den Kontext der übergeordneten interpretierten Funktion. So können interne Funktionen (die Kontexte setzen können oder auch nicht und daher nicht auf dem Aufruf-Stack erscheinen) möglicherweise nicht gezählt werden, und S3-Methoden können auch überraschende Dinge tun.
Also bezieht sich der parent.frame auf die Umgebung, in der die Funktion aufgerufen wurde, nicht wo sie definiert wurde.
Zum Beispiel
parentls <- function() {
ls(envir=parent.frame())
}
a<-function() {
x <- 5
parentls()
}
b <- function() {
z <- 10
parentls()
}
a()
# [1] "x"
b()
# [1] "z"
parentls()
# [1] "a" "b" "parentls"
Hier parentls()
hat eine ls()
im parent.frame. Und wenn wir innerhalb von a()
oder b()
laufen, sehen wir nur die Variablen innerhalb dieser Funktionen. Wenn es selbst aufgerufen wird, gibt es Ihnen einfach alle Variablen in Ihrer globalen Umgebung, so als ob Sie selbst ls()
aufgerufen hätten.
Sie können mehr über geordneten Frames in der Closure section oder Calling Environment section von Hadely Advanced R. lesen
wie erklärt man: z = get ('dens', envir = parent.frame (1)) in R? Vielen Dank –
- 1. Was ist der R-Zuweisungsoperator: = für?
- 2. Was ist der Unterschied zwischen:.! und: r !?
- 3. Was ist der R * -Tree-Algorithmus?
- 4. Was ist der Unterschied zwischen! R und% r in Python?
- 5. Was ist "{" Klasse in R?
- 6. Was ist der Unterschied zwischen Datenrahmen und Liste in R?
- 7. Spark R - Was ist äquivalent zu `factors()` in Spark R?
- 8. Was ist der Zweck von. * \\?
- 9. Was ist der Unterschied zwischen `=` und `<-` in R?
- 10. Was ist der Unterschied zwischen \ n und \ r \ n?
- 11. Was ist der Zweck von Membership.ValidateUser ist()
- 12. Was ist das git-Äquivalent von "svn update -r"?
- 13. Was ist das R-Äquivalent von SQL LIKE 'description%' Anweisung?
- 14. , was die Bedeutung von zwei Klammern in R Sprache ist
- 15. Was ist das doppelte Prozentzeichen (%%) in R
- 16. Was genau ist eine Verbindung in R?
- 17. Was ist los R 2.15 und Proto?
- 18. Was ist das Kniträquivalent von `R CMD Sweave myfile.rnw`?
- 19. Was ist der Zweck von "::" und warum ist es nützlich?
- 20. Was ist der allgemeine Fall der Promotion-Funktion von QuickCheck?
- 21. Was ist der aktuelle Status der Unit-Test-Unterstützung in der R-Sprache
- 22. Was ist der Unterschied zwischen lm (Angriff $ R ~ Angriff $ OBP) und lm (R ~ OBP)?
- 23. Was ist falsch an der Einrichtung von Hyperledger?
- 24. Was ist der @ Operator?
- 25. Was ist der Punkt von dbms_lob.createtemporary()?
- 26. Was ist der relative Pfadstamm von DeploymentItemAttribute?
- 27. Was ist der Zweck von PDB-Dateien?
- 28. Was ist der Leistungseinfluss von Leistungsindikatoren?
- 29. Was ist der Sinn von FILL_AND_STROKE?
- 30. Was ist der Zweck von layout.xml?
das Lesen Sie auch: http://adv-r.had.co.nz/Environments.html#calling-environments –