Rの環境について質問したい: 次の簡単なコードでは、ローカル変数 "v1"を作成します。 "environment(f1)"と入力すると、 "f1"が地球環境に置かれます。 私の質問は、Rコンソールから "v1" にアクセスする方法です。 "v1 $ f1"は機能しません。これについての説明はありますか?Rの環境
rm(list = ls())
f1 <- function() {
v1 <- 1
}
environment(f1)
次に、 "LS(E1)を" 私は "E1"
e1 <- new.env()
を環境を作成し、私が使用したとき、私は "E1"
environment(f1) <- e1
内の "F1" を置けば私は "f1"を受け取っていない。なぜ誰が知っていますか?
ls(e1)
ローカル変数v1
があなたは機能f1
を呼び出すまで存在していない、とするときf1
終了し、それが住んでいる環境が一般的に破壊され、事前に
うーん、私は通常、この種のもののために ''割り当てる(「F1」が、F1、ENVIR = E1)を使用していますが、 '?environment'は' environment(f1)< - e1'がうまくいくと示唆しています - なぜそうではないのか分かりません。 –
'environment(f1)< - e1'は' f1'の囲み環境を設定します。つまり、独自のスコープ内で定義されていないオブジェクトを検索する場所です。 'f1'自体はその場所に存在する必要はありません。 –