نتائج الانحدار من LME4 في R باستخدام شعرية (أو أي شيء آخر)
-
18-09-2019 - |
سؤال
أنا أعطيت الانحدار باستخدام LME4 بفضل الإجابة السابقة. وبعد الآن بعد أن تناسب الانحدار لكل ولاية أود استخدام شعرية لرسم مؤامرات QQ لكل دولة. أود أيضا أن أرسم قطع الأخطاء لكل ولاية بتنسيق شعرية. كيف يمكنني صنع مؤامرة شعرية باستخدام نتائج الانحدار LME4؟
فيما يلي عينة بسيطة (نعم، أحب الجناس الجيد) باستخدام دولتين. أرغب في صنع شعرية لوحة اثنين مصنوعة من الكائن يناسب.
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
هو كائن S4 الذي يحتوي على فتحة .DATA مع قائمة اساسي 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 القياسية lm
الكائنات مرتين، مرة واحدة لكل عنصر في قائمة الكائنات المجهزة. استخدم ال which
حجة ل plot
لتحديد مجموعات فرعية من هذه أو لتشخيص الانحدار الآخر.
إذا كنت تريد فعلا lattice
مؤامرات المتوقع مقابل VS الفعلي، قد تضطر إلى برنامج هذا.
لقد واجهت مشكلة مع LME4 :: LMList. على سبيل المثال، لا يبدو أن الملخص يعمل. لذلك قد ترشح بعض المشاكل بسبب ذلك.
لذلك على الرغم من أنني استخدم LMER، بدلا من LME، فقد استدعيت بشكل صريح NLME :: LMList بدلا من ذلك. ثم ملخص إلخ.