[R] Is it possible to extract coefficient '(Intercept)' with an identifier (Group ID)
Chad Danyluck
c.danyluck at gmail.com
Mon Oct 17 17:42:14 CEST 2016
Hello,
I have a data set with 80 observations (21 groups) on which I have run an
MLM (using lme).
I want to extract the coefficients for the intercept from my MLM using:
coefficients(summary(mig1.mlm))$'(Intercept)'
This produces a list of 21 intercepts, one for each group. For another test
I want to run, I need to know which coefficient corresponds to which group,
however, it is not clear to me how the list of intercepts are ordered.
Thus, I do not know which group size to assign to each intercept. Does
anyone know if there is a set order in which coefficients get listed when
using the 'coefficients()' function on an lme object? Is there a way to
extract group ID along with these coefficients?
I have provided the dput code for reproducing the results of my lme object
on a small sample of my data set, which only includes observations for 16
groups. I apologize that the dput code is a bit long, but if I use fewer
observations the lme() will not run.
structure(list(modelStruct = structure(list(reStruct = structure(list(
mig1.data.group.id = structure(c(0.542553815682571, -3.00715767259167,
-0.0442257816422898), formula = ~1 + mig1.data.minutes, Dimnames = list(
c("(Intercept)", "mig1.data.minutes"), c("(Intercept)",
"mig1.data.minutes")), class = c("pdLogChol", "pdSymm",
"pdMat"))), .Names = "mig1.data.group.id", settings = c(1,
1, 0, 4), class = "reStruct", plen = structure(3L, .Names = "
mig1.data.group.id"))), .Names = "reStruct", settings = c(1,
0, 1, 4), class = c("lmeStructInt", "lmeStruct", "modelStruct"
), pmap = structure(c(TRUE, TRUE, TRUE), .Dim = c(3L, 1L), .Dimnames = list(
NULL, "reStruct"))), dims = structure(list(N = 19L, Q = 1L,
qvec = c(2, 0, 0), ngrps = structure(c(14L, 1L, 1L), .Names = c("
mig1.data.group.id",
"X", "y")), ncol = c(2, 6, 1)), .Names = c("N", "Q", "qvec",
"ngrps", "ncol")), contrasts = structure(list(), .Names = character(0)),
coefficients = structure(list(fixed = structure(c(0.592247813206646,
-0.014327735870407, 0.511918311092002, 0.115144106181435,
-0.528777081078343, -0.672133737297911), .Names = c("(Intercept)",
"c.group.size", "poly(c.minutes, 2)1", "poly(c.minutes, 2)2",
"c.group.size:poly(c.minutes, 2)1", "c.group.size:poly(c.minutes, 2)2"
)), random = structure(list(mig1.data.group.id =
structure(c(0.0570720466445653,
-0.0201731190981803, 0.0799015267182444, -0.031341565397712,
-0.0381722036361848, 0.0114736430861277, -0.066744648680322,
-0.00465893340911505, 0.020902212048436, 0.103713939575392,
0.0341701969323794, -0.127867324157186, 0.0139879650936152,
-0.0322637357200584, 0.000462148038646844, 0.00106241177658854,
-0.000443527404792683, 0.000657233443565595, 0.00098128378165296,
-0.00165073855689212, -0.000552460717034177, -3.8563057004643e-05,
-0.000438319931643705, -0.00268379571707918, -0.000716549920599101,
0.00328705496268145, -0.000204144495804703, 0.000277967797714908
), .Dim = c(14L, 2L), .Dimnames = list(c("2", "3", "4", "5",
"7", "8", "10", "11", "12", "13", "16", "17", "20", "21"),
c("(Intercept)", "mig1.data.minutes")))), .Names = "
mig1.data.group.id")), .Names = c("fixed",
"random")), varFix = structure(c(0.000801580029879769,
-4.89031257398402e-06,
0.000560846217563802, 0.00158064241688306, -0.00222841423081078,
-0.0013850278556988, -4.89031257398402e-06, 0.000998585707455886,
-0.0034436196730218, -0.0015456585682428, 0.00116336495693562,
0.00434765229782492, 0.000560846217563802, -0.0034436196730218,
0.0244392316273714, 0.00996105608959828, -0.00854131836998962,
-0.0224942435104164, 0.00158064241688306, -0.0015456585682428,
0.00996105608959828, 0.0158945692774124, -0.0133452835173244,
-0.0153057275817998, -0.00222841423081078, 0.00116336495693562,
-0.00854131836998962, -0.0133452835173244, 0.0227078394482903,
0.0170647625679209, -0.0013850278556988, 0.00434765229782492,
-0.0224942435104164, -0.0153057275817998, 0.0170647625679209,
0.0349630532188317), .Dim = c(6L, 6L), .Dimnames =
list(c("(Intercept)",
"c.group.size", "poly(c.minutes, 2)1", "poly(c.minutes, 2)2",
"c.group.size:poly(c.minutes, 2)1", "c.group.size:poly(c.minutes, 2)2"
), c("(Intercept)", "c.group.size", "poly(c.minutes, 2)1",
"poly(c.minutes, 2)2", "c.group.size:poly(c.minutes, 2)1",
"c.group.size:poly(c.minutes, 2)2"))), sigma = 0.0524019104240361,
apVar = structure(c(0.195521445237494, 0.385341061075355,
-0.286676275652333, -0.150058129917539, 0.385341061075355,
3.44522079913615, 0.17521882332131, -0.88335110165811,
-0.286676275652333,
0.17521882332131, 2.73770494209246, -0.319576762409392,
-0.150058129917539,
-0.88335110165811, -0.319576762409392, 0.493177764041453), .Dim = c(4L,
4L), .Dimnames = list(c("reStruct.mig1.data.group.id1",
"reStruct.mig1.data.group.id2",
"reStruct.mig1.data.group.id3", "lSigma"),
c("reStruct.mig1.data.group.id1",
"reStruct.mig1.data.group.id2", "reStruct.mig1.data.group.id3",
"lSigma")), Pars = structure(c(-2.40625841416319, -5.66195117995023,
-1.60981405306962, -2.94881222984576), .Names =
c("reStruct.mig1.data.group.id1",
"reStruct.mig1.data.group.id2", "reStruct.mig1.data.group.id3",
"lSigma")), natural = TRUE), logLik = 11.3100253625345, numIter = NULL,
groups = structure(list(mig1.data.group.id = structure(c(5L,
2L, 12L, 1L, 10L, 10L, 7L, 1L, 6L, 8L, 9L, 13L, 2L, 4L, 3L,
6L, 14L, 14L, 11L), .Label = c("2", "3", "4", "5", "7", "8",
"10", "11", "12", "13", "16", "17", "20", "21"), class = "factor")),
.Names = "mig1.data.group.id", row.names = c("216",
"347", "413", "555", "446", "182", "481", "559", "387", "471",
"126", "549", "90", "173", "30", "245", "43", "44", "422"
), class = "data.frame"), call = lme.formula(fixed =
mig1.data.stnd.alpha ~
c.group.size * poly(c.minutes, 2), data = mig1.small.sample,
random = ~1 + mig1.data.minutes | mig1.data.group.id,
na.action = "na.exclude"), terms = mig1.data.stnd.alpha ~
c.group.size * poly(c.minutes, 2), method = "REML", fitted =
structure(c(0.481069271212693,
0.407996506778899, 0.481069271212693, 0.654207415156227,
0.660323053771328, 0.481069271212693, 0.654207415156227,
0.502826045508831, 0.619699566918199, 0.678669969616632,
0.473185648482867, 0.641692134120051, 0.619699566918199,
0.570206450385443, 0.562812539762185, 0.67376954812038,
0.217915945757991,
0.279144044677716, 0.376164846580292, 0.442897067576508,
0.425007799861318, 0.353201947055507, 0.720522422573729,
0.710361079005136, 0.584783210788085, 0.576413552135221,
0.559898092153396, 0.589904746082024, 0.673239775067424,
0.491896260873085, 0.65363865425562, 0.626086742234732,
0.542151052205559,
0.636061155408539, 0.660482112853126, 0.188431888015082,
0.248270147946232, 0.406752293909676), .Dim = c(19L, 2L), .Dimnames =
list(
c("216", "347", "413", "555", "446", "182", "481", "559",
"387", "471", "126", "549", "90", "173", "30", "245",
"43", "44", "422"), c("fixed", "mig1.data.group.id"))),
residuals = structure(c(-0.0510692712126929, 0.0420034932211007,
-0.171069271212693, 0.105792584843773, 0.0496769462286719,
0.138930728787307, -0.124207415156227, 0.0571739544911692,
-0.0696995669181989, -0.00866996961663191, 0.0268143515171326,
0.0183078658799486, -0.019699566918199, -0.040206450385443,
0.117187460237815, 0.0162304518796199, -0.0579159457579912,
-0.019144044677716, 0.0438351534197082, -0.0128970675765082,
0.0249922001386821, -0.0432019470555072, 0.0394775774262709,
-0.000361079005136378, 0.0352167892119151, -0.0464135521352211,
0.00010190784660391, -0.0399047460820235, -0.00323977506742401,
0.00810373912691509, 0.00636134574438041, -0.0260867422347322,
-0.0121510522055589, 0.0439388445914611, 0.029517887146874,
-0.0284318880150819, 0.0117298520537678, 0.0132477060903243
), .Dim = c(19L, 2L), .Dimnames = list(c("216", "347", "413",
"555", "446", "182", "481", "559", "387", "471", "126", "549",
"90", "173", "30", "245", "43", "44", "422"), c("fixed",
"mig1.data.group.id")), std = c(0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361, 0.0524019104240361,
0.0524019104240361, 0.0524019104240361)), fixDF = structure(list(
X = structure(c(12, 12, 1, 1, 1, 1), .Names = c("(Intercept)",
"c.group.size", "poly(c.minutes, 2)1", "poly(c.minutes, 2)2",
"c.group.size:poly(c.minutes, 2)1", "c.group.size:poly(c.minutes,
2)2"
)), terms = structure(c(12, 12, 1, 1), .Names = c("(Intercept)",
"c.group.size", "poly(c.minutes, 2)", "c.group.size:poly(c.minutes,
2)"
))), .Names = c("X", "terms"), assign = structure(list(
`(Intercept)` = 1L, c.group.size = 2L, `poly(c.minutes, 2)` = 3:4,
`c.group.size:poly(c.minutes, 2)` = 5:6), .Names = c("(Intercept)",
"c.group.size", "poly(c.minutes, 2)", "c.group.size:poly(c.minutes, 2)"
)), varFixFact = structure(c(0.0234727714330888, 0.00308441687443628,
-0.00126641961760248, 0.00412548417580657, 0.0129462509558636,
0.00740719592892987, 0, 0.0192212361398047, -0.00494132395826749,
-0.000413333499730955, 0.00799450545612366, -0.0232514546681108,
0, 0, 0.0968118427734171, 0.0134638356779811, -0.0203288282252088,
0.120300301736998, 0, 0, 0, 0.0824249430578822, 0.0489931708259258,
0.0818557710350283, 0, 0, 0, 0, -0.119911935622324,
-0.0912631751781513,
0, 0, 0, 0, 0, -0.186984098839531), .Dim = c(6L, 6L))), na.action =
structure(c(1L,
2L, 3L, 5L, 8L, 23L), .Names = c("172", "497", "250", "147",
"82", "249"), class = "exclude"), data =
structure(list(mig1.data.stnd.alpha = c(NA,
NA, NA, 0.43, NA, 0.45, 0.31, NA, 0.76, 0.71, 0.62, 0.53,
0.56, 0.55, 0.67, 0.5, 0.66, 0.6, 0.53, 0.68, 0.69, 0.16,
NA, 0.26, 0.42), c.group.size = c(0.7, -0.3, 1.7, -0.3, -0.3,
0.7, -0.3, 0.7, -1.3, -0.3, -0.3, -1.3, -1.3, 0.7, 2.7, -0.3,
0.7, 0.7, 0.7, -0.3, 0.7, -2.3, 1.7, -2.3, -1.3), c.minutes = c(12.5,
17.5, 7.5, -17.5, 7.5, 17.5, -17.5, 7.5, 2.5, 2.5, -17.5,
2.5, -17.5, 7.5, 2.5, -12.5, -7.5, 7.5, -12.5, -2.5, -2.5,
-7.5, 17.5, -12.5, -12.5), mig1.data.minutes = c(30, 35,
25, 0, 25, 35, 0, 25, 20, 20, 0, 20, 0, 25, 20, 5, 10, 25,
5, 15, 15, 10, 35, 5, 5), mig1.data.group.id = c(5L, 14L,
18L, 7L, 17L, 3L, 17L, 5L, 2L, 13L, 13L, 10L, 2L, 8L, 11L,
12L, 20L, 3L, 5L, 4L, 8L, 21L, 18L, 21L, 16L)), .Names =
c("mig1.data.stnd.alpha",
"c.group.size", "c.minutes", "mig1.data.minutes", "mig1.data.group.id"
), row.names = c(172L, 497L, 250L, 216L, 147L, 347L, 413L,
82L, 555L, 446L, 182L, 481L, 559L, 387L, 471L, 126L, 549L,
90L, 173L, 30L, 245L, 43L, 249L, 44L, 422L), class = "data.frame")),
.Names = c("modelStruct",
"dims", "contrasts", "coefficients", "varFix", "sigma", "apVar",
"logLik", "numIter", "groups", "call", "terms", "method", "fitted",
"residuals", "fixDF", "na.action", "data"), class = "lme")
--
Chad M. Danyluck, MA
PhD Candidate, Psychology
University of Toronto
“There is nothing either good or bad but thinking makes it so.” - William
Shakespeare
[[alternative HTML version deleted]]
More information about the R-help
mailing list