4

R に次のような S3 オブジェクトがあります。

myObject <- list(
    someParameter1 = 4,
    someList = 1:10
)
class(myObject) <- "myClass"

このクラスの抽出メソッドを作成しました。

"[.myClass" <- function(x, i) {
    x$someList[i] * x$someParameter1
}
myObject[5]
# 20

ここで、割り当てメソッドを作成したいと思います (サブ割り当て?Extractと呼ばれることを理解しているため)。次のように記述できます。

myObject[5] <- 250
myObject[5]
# 1000

私は最初に素朴にこれを次のように書き込もうとしました

"[<-.myClass" <- function(x, i, value) {
    x$someList[i] <- value
}

しかし、何らかの理由で、これは に置き換えmyObjectられvalueます。xand を変更する必要があると思いますが、どうすればandassign("someName", x, pos=somewhere)を確実に判断できますか?someNamesomewhere

または、これを行う別の方法はありますか?

4

2 に答える 2