2

MASS:stepAIC固定効果と混合効果の両方を持つガウスモデルに対して、関数に似た何かをしようとしています。アイデアは、多くの固定および混合効果に完全に一般化できるようにすることです。これらのタスクは、いくつかの場合は簡単に手動で実行できるためです。

lmerの場合と同じように、式を入力として記述できるようにしたい:

`Y ~ x1 + x2 + (a|b) + (1|c)

数式クラスから必要な情報を抽出できません。さらに、変数の選択番号を lm および lmer 関数に戻せるようにする必要があります。したがって、式の一部を次のように抽出できるようにしたいと考えています。

data      fixed effects       mixed effects
Y              x1                 a|b
               x2                 1|c

次に、固定効果と混合効果の任意のセットを自動的に lm に送信できるようにする必要があります。

lm(y ~ x1)

4

1 に答える 1

1

(variable|variable)混合効果項の形式を正確に想定できる場合は、次のようになります。

library(gsubfn)
fo <- Y ~ x1 + x2 + (a|b) + (1|c)

mixed.vec <- strapplyc(format(fo), "[(] *(\\w+) *[|] *(\\w+) *[)]")[[1]]
mixed <- matrix(mixed.vec, byrow = TRUE, nc = 2)
fixed <- setdiff(all.vars(fo)[-1], mixed)

これにより、次のようになります。

> mixed
     [,1] [,2]
[1,] "a"  "b" 
[2,] "1"  "c" 
> fixed
[1] "x1" "x2"

これmixedは、最初の列が|の前の変数を保持する行列です。2番目の列は、|の後の対応する変数を保持します。。

于 2012-08-27T17:47:25.903 に答える