lm
RIでは、多くの場合、タイプオブジェクト(、、glm
などlme
)のリストを循環clm
し、新しい式または他の引数でそれらを更新する必要があります。lapply()
名前をそのままにして同じリスト形式で返すため、これを使用してこれを行います。これにより、プロセスを続行できます。
私が渡す引数は動的であり、モデルごとに異なる場合があります。例えば、
lapply(names(mylist) function(ii) {
jj<-myotherlist[[ii]];
update(mylist[[ii]],.~.+jj)
})
ここjj
で、はリスト内の各モデルに追加される用語であり、モデルごとに他のリストで定義されます。
特定のモデルの意図された結果式がであると想定されたとしましょうy~a+b+c
。その代わりに、結果のオブジェクト内の呼び出しオブジェクトには。lm
が含まれますy~a+b+jj
。そのため、状況によっては、結果のlm
オブジェクトは正常に動作しますが、数式を評価する必要があるときはいつでも、jj
長い間使用されていないためにエラーになります。update()
出力にオブジェクトを書き込むときに引数内のすべての変数を強制的に展開するか、オブジェクトcall
を使用する関数にグローバルコンテキストではなくオブジェクトの内部コンテキストでcall
呼び出しを評価するように強制する推奨される方法はありますか?少なくとも、スタイルオブジェクトに通常含まれているまたはオブジェクトlm
に新しい変数を詰め込むことができますか?model
data
lm
また、動的変数で更新される部分がデータ引数である場合はどうなりますか?例えば:
data=cbind(sharedByAllModels,y=kk)
...kk
現在のモデルに固有の場所(おそらく、sharedByAllModelsデータフレーム内の特定の列のある種の集約)。