0

R初心者です。

クラス参照のリストがあります。各クラスにはフィールド「x」があります。リスト内で「x」が最も小さいクラス参照を見つけたいです。

Pythonでは、これを行います:

return min(item.x for item in myList)

上記のタイプのステートメントに特定の用語があるかどうかはわかりませんが (誰かが知りたいことを知っている場合)、 R で同様のタイプのことを行う方法はありますか?

そうでない場合、 R でこれを達成するための最良の方法は何でしょうか?

**再編集。ジャスティンのコメント

リストの作成方法は次のとおりです..

mylist <- list()
for (i in 1:10){
    mylist <- c(mylist, MyClass$new())
}

どこ:

MyClass <- setRefClass("MyClass",
                        fields = list(x = "numeric"),
                        methods = list(
                           initialize = function(){
                               x <<- sample(0:100, 1)
                           }
                        )
)

どうもありがとう

4

2 に答える 2

2

x の最小値 (前者を探しているようです) とは対照的に、x の最小値を持つ MyClass のインスタンス全体を取得する場合はwhich.min、次のような使用を検討してください。

mylist[[which.min(lapply(mylist, function(myClass) myClass$x))]]
于 2012-07-25T20:54:44.700 に答える
1

リストは、その名前付きコンポーネントを使用してアクセスできる単なるリストです。

> mylist[[1]]$x
[1] 66
> 

私のコメントの答えはうまくいくでしょう:

> min(unlist(lapply(mylist, function(y) y$x)))
[1] 20

詳細は、R の OO を私よりよく知っている人に任せます...

于 2012-07-25T20:21:55.363 に答える