どのように割り当てがR言語で動作するのだろうか。R言語での割り当て
> x <- c(5, 6, 7)
> x[1] <- 10
> x
[1] 10 6 7
>
私は完全に理解して:
には、以下のRシェルセッションを考えてみましょう。ベクトル(5,6,7)が作成され、記号「x」の にバインドされます。その後、ベクトル は不変のデータ構造であるため、 'x'は新しいベクトル(10,6,7)にリバウンドします。
しかし、ここで何が起こるか:ここ
> c(4, 5, 6)[1] <- 10
Error in c(4, 5, 6)[1] <- 10 :
target of assignment expands to non-language object
>
か:
> f <- function() c(4, 5, 6)
> f()[1] <- 10
Error in f()[1] <- 10 : invalid (NULL) left side of assignment
>
1だけ( 'X' のような)というデータ構造体に値を割り当てることができるように私には思えるが。
私はR言語コアを実装しようとしているので、私はそのような割り当てに対処する方法がわかりません です。事前
素晴らしい質問だこと。いくつかの答えはここで少しわかるかもしれません:http://stackoverflow.com/questions/10449366/levels-what-sorcery-is-this –