0

double ベクトルのリスト (optim 関数を使用して for ループから試行されたさまざまなパラメーターのリスト) のリストとして保存された結果がたくさんあるので、list と入力すると、要素は次のように表示されます。

[[1]]
        r         k     sigma 
 96.66667 328.66667 396.33333 
.
.
.
.

[[291]]
    r     k sigma 
 97.0 329.8 397.7 
.
.
.
etc

名前付きの値「r」「k」および「sigma」の最小値と最大値にアクセスできるようにしたいと考えています。しかし、RI は $ 記号を使用してそれらにアクセスすることはできません。また、R は lsit 内のリスト内で一意の名前として各名前を取得しているため、引用符を使用することもできません。 cbind を試しましたが、どちらも機能しませんでした。

誰かが提供できる助けをいただければ幸いです。

4

2 に答える 2

4

リストのすべての要素が同じサイズ(長さ3のベクトル)の場合、次のようなことができます。

do.call(rbind, mylist)

mylist出力オブジェクトのリストはどこにありますか。これにより、マトリックスが作成されます(またはcbindの代わりに使用されますrbind)。

ピースの1つだけを取得する別のオプションは次のとおりです。

sapply( mylist, `[`, "r" )

これは、各ベクトルから「r」要素を取得し、可能であればそれを単一のベクトルに単純化します。「r」を他の名前に置き換えて、他の部分を取得します。

于 2013-03-05T21:24:11.107 に答える
3

以下を使用して、これをマトリックスまたはデータフレームに入れることができる場合があります。

mtx <- do.call(rbind, object)

次のようにして、位置ごとに個々の要素にアクセスできます。

listname[[291]]   # should return 
   r     k sigma 
97.0 329.8 397.7 
于 2013-03-05T21:21:21.860 に答える