3

以前の回答のおかげで、lme4 を使用して回帰を当てはめました。各状態の回帰適合が得られたので、ラティスを使用して各状態の QQ プロットをプロットしたいと思います。また、各状態のエラー プロットを格子形式でプロットしたいと考えています。lme4 回帰の結果を使用して格子プロットを作成するにはどうすればよいですか?

以下は、2 つの状態を使用した単純なサンプルです (ええ、私は良い頭韻が好きです)。オブジェクト フィットから 2 パネルのラティスを作成したいと思います。

library(lme4)
d <- data.frame(state=rep(c('NY', 'CA'), c(10, 10)), year=rep(1:10, 2), response=c(rnorm(10), rnorm(10)))
fits <- lmList(response ~ year | state, data=d)
4

3 に答える 3

7

を使用する代わりにlmList、より一般的な plyr パッケージをお勧めします。

library(plyr)

d <- data.frame(
 state = rep(c('NY', 'CA'), c(10, 10)), 
 year = rep(1:10, 2), 
 response = c(rnorm(10), rnorm(10))
)

# Create a list of models
# dlply = data frame -> list
models <- dlply(d, ~ state, function(df) { 
  lm(response ~ year, data = df)
})

# Extract the coefficients in a useful form
# ldply = list -> data frame
ldply(models, coef)

# We can get the predictions in a similar way, but we need
# to cast to a data frame so the numbers come out as rows,
# not columns.
predictions <- ldply(models, as.data.frame(predict))

predictionsは通常の R データ フレームであるため、簡単にプロットできます。

于 2009-08-19T12:14:46.097 に答える
2

これを簡単に格子に入れることができるかどうかはわかりません。あなたが持っているのは、標準fitsオブジェクトのリストを持つ.Dataスロットを含むS4オブジェクトです: lm

R> class(fits)
[1] "lmList"
attr(,"package")
[1] "lme4"
R> class(fits@.Data)
[1] "list"
R> class(fits@.Data[[1]])
[1] "lm"
R> op <- par(mfrow=c(2,4))
R> invisible(lapply(fits@.Data, plot))

この最後のプロットは、オブジェクトの標準の 2x2 プロットを単純にlm2 回 (適合したオブジェクトのリストの要素ごとに 1 回) プロットします。which引数 toを使用してplot、これらのサブセットを選択するか、その他の回帰診断を行います。

実際latticeに予測と実際のプロットが必要な場合は、これをプログラムする必要がある場合があります。

于 2009-08-19T04:01:42.997 に答える
-1

lme4::lmList で問題が発生しました。たとえば、要約が機能していないようです。そのため、何らかの問題が発生する可能性があります。

そのため、lme の代わりに lmer を使用していますが、代わりに nlme::lmList を明示的に呼び出しています。その後、要約などが機能します。

于 2010-02-14T07:06:50.270 に答える