نتائج الانحدار من LME4 في R باستخدام شعرية (أو أي شيء آخر)

StackOverflow https://stackoverflow.com/questions/1297698

  •  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 بدلا من ذلك. ثم ملخص إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top