次の例では、添付後にx
でも変更されていますが、値a
は変更されません。 attach()
オブジェクトのコピーを作成しますかx
? attach()
によって保存されたx
を突然変異させる方法はありますか?添付オブジェクトの変更が効果をもたらさないのはなぜですか?
R> x=list(a=1,b=2)
R> attach(x)
R> search()
[1] ".GlobalEnv" "x" "package:stats"
[4] "package:graphics" "package:grDevices" "package:utils"
[7] "package:datasets" "package:methods" "Autoloads"
[10] "package:base"
R> x$a=2
R> search()
[1] ".GlobalEnv" "x" "package:stats"
[4] "package:graphics" "package:grDevices" "package:utils"
[7] "package:datasets" "package:methods" "Autoloads"
[10] "package:base"
R> a
[1] 1
R>
「?attach'、*」データベースは実際には添付されず、検索パスとリストの要素(データフレームの列を含む)または保存ファイル内のオブジェクトに新しい環境が作成されます。 << - を使用してアタッチされたデータベースにアサインすると、オリジナルのオブジェクトではなく、アタッチされたコピーのみを変更します(通常の割り当てでは、ユーザのワークスペースに変更されたバージョンが配置されます。このため、添付は混乱につながる可能性があります。 – nrussell
@nurlsell、回答として投稿しますか? –
私はその質問がおそらくちょうど削除されるかもしれないと思う。すべての情報はドキュメントに記載されています。あなたが同意しない場合は、お気軽に回答を書き留めてください。 – nrussell