lmRIでは、多くの場合、タイプオブジェクト(、、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に新しい変数を詰め込むことができますか?modeldatalm
また、動的変数で更新される部分がデータ引数である場合はどうなりますか?例えば:
data=cbind(sharedByAllModels,y=kk)
...kk現在のモデルに固有の場所(おそらく、sharedByAllModelsデータフレーム内の特定の列のある種の集約)。