あなたread ?help
場合、それはload
の戻り値があることを言う:
目に見えない、作成されたオブジェクトの名前の文字ベクトル。
これは、(.GlobalEnv
しばしば常にではないが、現在の環境をデフォルト)環境にオブジェクトを挿入することでload
コマンドの本当の仕事は、side-effectであること(ただし、確かに状態はありません)を示唆しています。 load(...)
を呼び出した場所からすぐにアクセスできます。例えば
、私はあなたがあなたのrda
ファイルを持っているかもしれない変数を推測することができるかどうか:あなたは彼らが現在の環境に保存されているないになりたい場合は、あなたが環境を設定することができます
x
# Error: object 'x' not found
# either one of these on windows, NOT BOTH
dat = load("C:\\Users\\user\\AppData\\Local\\Temp\\1_29_923-Macdonell.RData")
dat = load("C:/Users/user/AppData/Local/Temp/1_29_923-Macdonell.RData")
dat
# [1] "x" "y" "z"
x
# [1] 42
(私はparent=emptyenv()
を使用していますが、それは厳密には必要ではありません。そのオプションを含まないことにはいくつかの小さな影響があります。)
myenv <- new.env(parent = emptyenv())
dat = load("C:/Users/user/AppData/Local/Temp/1_29_923-Macdonell.RData",
envir = myenv)
dat
# [1] "x" "y" "z"
x
# Error: object 'x' not found
ls(envir = myenv)
# [1] "x" "y" "z"
あなたはいくつかの方法であなたのデータを取得することができますここから:
ls.str(myenv) # similar in concept to str() but for environments
# x : num 42
# y : num 1
# z : num 2
myenv$x
# [1] 42
get("x", envir = myenv)
# [1] 42
サイドノート:あなたは私が私の変数名としてdat
を使用していることに気づいたかもしれません
data
の代わりにあなたは確かにそれを使用することは許されていますが、既存の変数や関数と一致する変数名を使用すると、あなたを噛む可能性があります。たとえば、データをロードしている間は、すべてのコードが正常に動作します。エラーメッセージがすぐに自明ではないことを
mean(data$x)
# Error in data$x : object of type 'closure' is not subsettable
:しかし、あなたはがあなたのdata
変数にあなたのオブジェクトを事前にロードすることなく、あなたのコードの一部を実行する場合は、おそらくのようなエラーが発生します。問題は、あなたの質問と同じように定義されていない場合、ここでdata
はファンクションdata
を指します。プログラミング用語、closure is a special type of function、そうではエラーが実際に言っておく必要があります。
# Error in data$x : object of type 'function' is not subsettable
がdat
がサブセットとdat$x
が何かを意味することができますが、あなたは機能自体に$
サブセットメソッドを使用することができないことを意味します。 (mean
関数を参照すると、mean$x
は実行できません)。ただし、ここで修正されたエラーメッセージはそれほど混乱はありませんが、問題がどこにどこにあるかはっきりとは分かりません。
このため、多くの経験豊富なプログラマーは、一意の変数名を使用することをお勧めします(たぶんx
以上の:-)。あなたは私の提案を使用して、代わりにdat
をという名前を付けた場合は、あなたのデータをプリロードないの間違いは、意志の代わりとエラー:より多くの意味を持つとトラブルシューティングが容易です
mean(dat$x)
# Error in mean(dat$x) : object 'dat' not found
。
バックスラッシュをスラッシュ(\//)に変更するか、\を –
に置き換えるか、二重バックスラッシュに変更してください...上のコードを試したときに何が起こったのですか? – r2evans