格子(または何か他のもの)を使用してRにlme4から回帰結果をプロット
-
18-09-2019 - |
質問
私は前の回答。今、私は、各状態の回帰フィット感を持っていることを、私は、各状態のための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)
解決
その代わり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データフレームであるので、プロットすることが容易である。
他のヒント
私はあなたが簡単に格子状にこれを得ることができるかわかりません。
:何fits
しているのは、の標準のlm
オブジェクトのリストで.DATAスロットを含むS4オブジェクトです
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))
この最後のプロットは、単純に当てはめたオブジェクトのリストの各要素に対して1回、2回あなたlm
オブジェクトのための標準的な2×2のプロットをプロットします。これらのまたは他の回帰診断のためのサブセットを選択するためにwhich
しplot
引数を使用します。
lattice
プロットをしたい場合は、、あなたはこれをプログラムする必要があります。
私はlme4といくつかの問題:: lmListを持っていました。例えば、概要が動作するようには思えません。だから、そのため、いくつかの問題に実行することがあります。
私が代わりにLMEの、lmerを使用するので、にもかかわらず、私は明示的に代わりnlme :: lmListを呼び出してきました。そして、要約などが動作します。
所属していません StackOverflow