[R] Help Interpreting Linear Mixed Model

Joshua Dixon joshuamichaeldixon at gmail.com
Tue Apr 28 22:25:15 CEST 2015


*John* -  Lot's of missing data for height unfortunately.  Which is needed
for BMI calculation.

How would I look compare very specific parts of the data, i.e. comparing
YoYo outcomes between "F" and "M" position that are both in the
PREMIER_LEAGUE Level?

Still can't figure it out!

Josh

On Tue, Apr 28, 2015 at 2:39 AM, John Kane <jrkrideau at inbox.com> wrote:

>
> Looks great.  How come so many NA's in Height and BMI? Just no data
> available?
>
>  str(dat1)
> 'data.frame':   100 obs. of  8 variables:
>  $ Id      : int  7451 148 10393 10200 1961 10428 10541 10012 9895 10626
> ...
>  $ Level   : Factor w/ 5 levels "CHAMPIONSHIP",..: 1 1 1 1 1 1 1 1 1 1 ...
>  $ AgeGr   : int  14 16 10 10 13 10 10 10 10 10 ...
>  $ Position: Factor w/ 4 levels "D","F","GK","M": 4 1 1 2 3 3 2 3 1 1 ...
>  $ Height  : int  NA NA NA NA NA NA NA NA NA NA ...
>  $ Weight  : num  63 64 36 46 67 40 25 30 36 33 ...
>  $ BMI     : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ YoYo    : int  80 80 160 160 160 160 160 160 160 160 ...
>
> John Kane
> Kingston ON Canada
>
> -----Original Message-----
> From: joshuamichaeldixon at gmail.com
> Sent: Mon, 27 Apr 2015 23:35:13 +0100
> To: jrkrideau at inbox.com
> Subject: Re: [R] Help Interpreting Linear Mixed Model
>
> Thanks John!
>
> This ok?
>
> > dput(head(data, 100))
>
> structure(list(Id = c(7451L, 148L, 10393L, 10200L, 1961L, 10428L,
>
> 10541L, 10012L, 9895L, 10626L, 1151L, 8775L, 10083L, 6217L, 90L,
>
> 10168L, 10291L, 8549L, 3451L, 10003L, 5907L, 10136L, 6182L, 6315L,
>
> 10015L, 9956L, 2040L, 4710L, 10747L, 6787L, 1222L, 10757L, 2892L,
>
> 117L, 10328L, 10503L, 768L, 2979L, 1961L, 10520L, 10498L, 3018L,
>
> 10335L, 2448L, 9027L, 362L, 8499L, 10603L, 9489L, 2124L, 707L,
>
> 8501L, 4908L, 9905L, 3000L, 2819L, 9973L, 10550L, 9921L, 10639L,
>
> 8771L, 10121L, 32L, 9935L, 9299L, 3246L, 682L, 10325L, 6741L,
>
> 3295L, 5270L, 727L, 8500L, 50L, 4705L, 3018L, 787L, 2953L, 1391L,
>
> 3682L, 7974L, 5023L, 652L, 727L, 679L, 10212L, 9488L, 9987L,
>
> 10039L, 5025L, 250L, 2539L, 787L, 3000L, 1151L, 8946L, 6177L,
>
> 3296L, 250L, 498L), Level = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
>
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label =
> c("CHAMPIONSHIP",
>
> "CONFERENCE", "LEAGUE_ONE", "LEAGUE_TWO", "PREMIER_LEAGUE"), class =
> "factor"),
>
>     AgeGr = c(14L, 16L, 10L, 10L, 13L, 10L, 10L, 10L, 10L, 10L,
>
>     14L, 10L, 10L, 10L, 12L, 10L, 10L, 12L, 10L, 10L, 10L, 10L,
>
>     12L, 10L, 10L, 10L, 10L, 10L, 10L, 15L, 10L, 10L, 10L, 12L,
>
>     10L, 10L, 13L, 10L, 13L, 11L, 11L, 13L, 12L, 11L, 12L, 14L,
>
>     13L, 13L, 13L, 13L, 12L, 11L, 15L, 11L, 14L, 13L, 11L, 11L,
>
>     11L, 12L, 14L, 12L, 13L, 11L, 13L, 15L, 11L, 13L, 13L, 13L,
>
>     14L, 13L, 13L, 12L, 13L, 13L, 13L, 14L, 12L, 14L, 13L, 13L,
>
>     13L, 13L, 13L, 12L, 13L, 14L, 13L, 14L, 13L, 14L, 13L, 14L,
>
>     14L, 13L, 14L, 13L, 13L, 13L), Position = structure(c(4L,
>
>     1L, 1L, 2L, 3L, 3L, 2L, 3L, 1L, 1L, 1L, 2L, 4L, 3L, 2L, 3L,
>
>     4L, 3L, 4L, 2L, 4L, 2L, 3L, 1L, 1L, 2L, 4L, 4L, 2L, 4L, 4L,
>
>     2L, 1L, 4L, 1L, 1L, 2L, 4L, 3L, 1L, 4L, 1L, 2L, 3L, 3L, 1L,
>
>     1L, 3L, 1L, 3L, 4L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 3L, 1L,
>
>     2L, 2L, 2L, 4L, 4L, 2L, 4L, 2L, 3L, 3L, 4L, 4L, 1L, 1L, 1L,
>
>     2L, 2L, 4L, 1L, 1L, 1L, 2L, 4L, 1L, 3L, 4L, 4L, 4L, 4L, 2L,
>
>     2L, 2L, 1L, 1L, 4L, 1L, 4L, 2L, 2L), .Label = c("D", "F",
>
>     "GK", "M"), class = "factor"), Height = c(NA, NA, NA, NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 151L, NA,
>
>     154L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 156L, NA,
>
>     147L, NA, NA, NA, NA, NA, 138L, 172L, NA, NA, 150L, NA, NA,
>
>     NA, NA, NA, NA, NA, 140L, 153L, NA, NA, NA, NA, NA, NA, NA,
>
>     158L, NA, NA, NA, NA, NA, NA, NA, NA, NA, 156L), Weight = c(63,
>
>     64, 36, 46, 67, 40, 25, 30, 36, 33, 61, 31, 29, 34, 47, 38,
>
>     32, 44, 32, 32, 30, 34, 51, 34, 28, 27, 33, 31, 28, 44, 37,
>
>     46, 26, 42, 32, 32, 43, 31, 72, 27, 30, 55, 53, 50, 51, 55,
>
>     48.6, 49, 48, 64, 35, 32, 55, 32, 50, 61, 42, 33, 37, 45,
>
>     45, 50, 36, 33, 49, 59, 42, 43, 35.1, 66.9, 52, 47, 40, 38,
>
>     45, 53, 44, 54, 39, 62, 33, 53.8, 42, 46, 39, 48, 39, 54,
>
>     40, 42.4, 50, 48, 46, 52, 58, 40, 46, 51, 54, 42), BMI = c(NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     21.2, NA, 20.24, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, 18.49, NA, 16.66, NA, NA, NA, NA, NA, 18.57, 22.61, NA,
>
>     NA, 17.77, NA, NA, NA, NA, NA, NA, NA, 16.84, 22.86, NA,
>
>     NA, NA, NA, NA, NA, NA, 16.9, NA, NA, NA, NA, NA, NA, NA,
>
>     NA, NA, 17.26), YoYo = c(80L, 80L, 160L, 160L, 160L, 160L,
>
>     160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L,
>
>     160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L,
>
>     160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L, 160L,
>
>     160L, 160L, 200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L,
>
>     200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L,
>
>     200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L, 200L,
>
>     200L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L,
>
>     240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L,
>
>     240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L, 240L,
>
>     240L, 240L, 240L, 240L)), .Names = c("Id", "Level", "AgeGr",
>
> "Position", "Height", "Weight", "BMI", "YoYo"), row.names = c(NA,
>
> 100L), class = "data.frame")
>
> On Mon, Apr 27, 2015 at 10:43 PM, John Kane <jrkrideau at inbox.com> wrote:
>
>  Hi Josh,
>
>  Just a sample  is usually  fine. As long as it cover a representative
> (must be time for dinner---I was going to type reprehensibe) sample of the
> data then something like dput(head(mydata, 100) ) works well.
>
>  Kingston ON Canada
>
>  -----Original Message-----
>  From: joshuamichaeldixon at gmail.com
>
> Sent: Mon, 27 Apr 2015 21:30:39 +0100
>  To: lists at dewey.myzen.co.uk
>  Subject: Re: [R] Help Interpreting Linear Mixed Model
>
>  Apologies for my ignorance!
>
>  Thierry - thank you for the reading.  I'll look into those ASAP!
>
>  John - The data set I have is quite large, when using the dput() command
> I'm unsure if it actually fits the whole output into the console.  I can't
> scroll up far enough to see the actual command.  I can paste what is there
> if that may help?  The bottom line:
>
>  Names = c("Id", "Level", "AgeGr", "Position", "Height", "Weight", "BMI",
> "YoYo"), class = "data.frame", row.names = c(NA, -9689L))
>
>  Michael - Essentially, I'm looking for differences between "YoYo" outcome
> for "Positions", "Levels" and accounting for repeated measures using "Id"
> as a random factor.  So I was able to figure out points 2 and 3.
>
>  I've searched for definitions of "Scaled residuals", "Random
> effects", "Fixed effects", "Correlation of Fixed Effects".  However, I'm
> confused at the different interpretations I've found.  Or quite possibly,
> I'm just confused...  What should I be looking out for in these variables?
>
>  I've tried to take my analysis smaller, and just look at specifics, to
> make it simpler.  Such as, comparing YoYo (outcome score) for a
> Premier_League (Level), 22 (AgeGr) F (Position) with a Premier_League
> (Level), 22 (AgeGr) M (Position).  How do I convert these into a factors
> for analysis?
>
>  Simple question maybe, but it's not when you can't find the answer!
>
>  Thank you,
>
>  Josh
>
>  On Mon, Apr 27, 2015 at 4:10 PM, Michael Dewey <lists at dewey.myzen.co.uk>
> wrote:
>
>          Dear Joshua
>
>   It would also help if you told us what your scientific question was. At
> the moment we know what R commands you used and have seen the head of your
> dataset but not why you are doing it.
>
>   I would summarise what you have given us as
>
>   1 - most ID only occur once
>   2 - goal keepers do worse than outfield players
>   3 - older people (presumably in fact age is in years as a continuous
> variable) do better
>
>   On 27/04/2015 12:42, John Kane wrote:
>
>   John Kane
>   Kingston ON Canada
>
>           -----Original Message-----
>   From: joshuamichaeldixon at gmail.com
>   Sent: Mon, 27 Apr 2015 08:54:51 +0100
>   To: thierry.onkelinx at inbo.be
>   Subject: Re: [R] Help Interpreting Linear Mixed Model
>
>   Hello Thierry,
>
>   No, this isn't homework. Not that young unfortunately.
>
>   A few years ago a friend of mine and her daughter were neck-in-neck on
> who got their Ph.D first. What's this "not that young" business?
>
>   BTW, a better way to supply sample data is to use the dput() command.
>
>   Do a dput(mydata), copy the results into the email and you have supplied
> us with an exact copy of your data.
>
>   It is possible for many reasons that I will not read in your data, as
> you supplied it, in the format you have it in.  This can lead to real
> confusion.
>
>           Josh
>
>           On 27 Apr 2015, at 08:06, Thierry Onkelinx <
> thierry.onkelinx at inbo.be>
>   wrote:
>
>   Dear Josh,
>
>   Is this homework? Because the list has a no homework policy.
>
>   Best regards,
>
>   ir. Thierry Onkelinx
>   Instituut voor natuur- en bosonderzoek / Research Institute for Nature
>   and Forest
>   team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
>   Kliniekstraat 25
>   1070 Anderlecht
>   Belgium
>
>   To call in the statistician after the experiment is done may be no more
>   than asking him to perform a post-mortem examination: he may be able to
>   say what the experiment died of. ~ Sir Ronald Aylmer Fisher
>   The plural of anecdote is not data. ~ Roger Brinner
>   The combination of some data and an aching desire for an answer does not
>   ensure that a reasonable answer can be extracted from a given body of
>   data. ~ John Tukey
>
>   2015-04-27 2:26 GMT+02:00 Joshua Dixon <joshuamichaeldixon at gmail.com>:
>
>           Hello!
>
>   Very new to R (10 days), and I've run the linear mixed model, below.
>   Attempting to interpret what it means...  What do I need to look for?
>   Residuals, correlations of fixed effects?!
>
>   How would I look at very specific interactions, such as PREMIER_LEAGUE
>   (Level) 18 (AgeGr) GK (Position) mean difference to CHAMPIONSHIP 18
>   GK?
>
>   For reference my data set looks like this:
>
>   Id Level AgeGr   Position Height Weight BMI YoYo
>   7451 CHAMPIONSHIP 14 M NA 63 NA 80
>   148 PREMIER_LEAGUE 16 D NA 64 NA 80
>   10393 CONFERENCE 10 D NA 36 NA 160
>   10200 CHAMPIONSHIP 10 F NA 46 NA 160
>   1961 LEAGUE_TWO 13 GK NA 67 NA 160
>   10428 CHAMPIONSHIP 10 GK NA 40 NA 160
>   10541 LEAGUE_ONE 10 F NA 25 NA 160
>   10012 CHAMPIONSHIP 10 GK NA 30 NA 160
>   9895 CHAMPIONSHIP 10 D NA 36 NA 160
>
>   Many thanks in advance for time and help.  Really appreciate it.
>
>   Josh
>
>           summary(lmer(YoYo~AgeGr+Position+(1|Id)))
>
>   Linear mixed model fit by REML ['lmerMod']
>   Formula: YoYo ~ AgeGr + Position + (1 | Id)
>
>   REML criterion at convergence: 125712.2
>
>   Scaled residuals:
>        Min      1Q  Median      3Q     Max
>   -3.4407 -0.5288 -0.0874  0.4531  4.8242
>
>   Random effects:
>     Groups   Name        Variance Std.Dev.
>     Id       (Intercept) 15300    123.7
>     Residual             16530    128.6
>   Number of obs: 9609, groups:  Id, 6071
>
>   Fixed effects:
>                 Estimate Std. Error t value
>   (Intercept) -521.6985    16.8392  -30.98
>   AgeGr         62.6786     0.9783   64.07
>   PositionD    139.4682     7.8568   17.75
>   PositionM    141.2227     7.7072   18.32
>   PositionF    135.1241     8.1911   16.50
>
>   Correlation of Fixed Effects:
>              (Intr) AgeGr  PostnD PostnM
>   AgeGr     -0.910
>   PositionD -0.359 -0.009
>   PositionM -0.375  0.001  0.810
>   PositionF -0.349 -0.003  0.756  0.782
>
>           model=lmer(YoYo~AgeGr+Position+(1|Id))
>   summary(glht(model,linfct=mcp(Position="Tukey")))
>
>     Simultaneous Tests for General Linear Hypotheses
>
>   Multiple Comparisons of Means: Tukey Contrasts
>
>   Fit: lmer(formula = YoYo ~ AgeGr + Position + (1 | Id))
>
>   Linear Hypotheses:
>                Estimate Std. Error z value Pr(>|z|)
>   D - GK == 0  139.468      7.857  17.751   <1e-04 ***
>   M - GK == 0  141.223      7.707  18.323   <1e-04 ***
>   F - GK == 0  135.124      8.191  16.496   <1e-04 ***
>   M - D == 0     1.754      4.799   0.366    0.983
>   F - D == 0    -4.344      5.616  -0.774    0.862
>   F - M == 0    -6.099      5.267  -1.158    0.645
>   ---
>   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>   (Adjusted p values reported -- single-step method)
>
>            [[alternative HTML version deleted]]
>
>   ______________________________________________
>   R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>
>  https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help] [
> https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help]]
>   PLEASE do read the posting guide
>   http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html] [
> http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html]]
>   and provide commented, minimal, self-contained, reproducible code.
>
>           [[alternative HTML version deleted]]
>
>   ______________________________________________
>   R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>   https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help] [
> https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help]]
>   PLEASE do read the posting guide
>   http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html] [
> http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html]]
>   and provide commented, minimal, self-contained, reproducible code.
>
>   ____________________________________________________________
>   FREE ONLINE PHOTOSHARING - Share your photos online with your friends
> and family!
>   Visit http://www.inbox.com/photosharing [
> http://www.inbox.com/photosharing] [http://www.inbox.com/photosharing [
> http://www.inbox.com/photosharing]] to find out more!
>
>   ______________________________________________
>   R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>   https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help] [
> https://stat.ethz.ch/mailman/listinfo/r-help [
> https://stat.ethz.ch/mailman/listinfo/r-help]]
>   PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html] [
> http://www.R-project.org/posting-guide.html [
> http://www.R-project.org/posting-guide.html]]
>   and provide commented, minimal, self-contained, reproducible code.
>
>   --
>   Michael
>   http://www.dewey.myzen.co.uk/home.html [
> http://www.dewey.myzen.co.uk/home.html] [
> http://www.dewey.myzen.co.uk/home.html [
> http://www.dewey.myzen.co.uk/home.html]]
>
>  ____________________________________________________________
>  Can't remember your password? Do you need a strong and secure password?
>  Use Password manager! It stores your passwords & protects your account.
>  Check it out at http://mysecurelogon.com/manager [
> http://mysecurelogon.com/manager]
>
> ____________________________________________________________
> FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop!
> Check it out at http://www.inbox.com/earth
>
>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list