Q4
#random effect
dat = read.table("C:/Users/USER/Desktop/Multilevel Statistical/w4 exercise/skin_resistance.txt", header = TRUE)
str(dat)
## 'data.frame': 80 obs. of 3 variables:
## $ Electrode: Factor w/ 5 levels "E1","E2","E3",..: 1 2 3 4 5 1 2 3 4 5 ...
## $ Subject : Factor w/ 16 levels "S1","S10","S11",..: 1 1 1 1 1 9 9 9 9 9 ...
## $ Kohm : int 500 400 98 200 250 660 600 600 75 310 ...
#random effect model
require(lme4)
## Loading required package: lme4
## Loading required package: Matrix
m0 = lmer(Kohm ~ Electrode + (1|Subject), data = dat)
summary(m0)
## Linear mixed model fit by REML ['lmerMod']
## Formula: Kohm ~ Electrode + (1 | Subject)
## Data: dat
##
## REML criterion at convergence: 999.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4000 -0.4998 -0.0682 0.3076 3.6676
##
## Random effects:
## Groups Name Variance Std.Dev.
## Subject (Intercept) 14180 119.1
## Residual 22379 149.6
## Number of obs: 80, groups: Subject, 16
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 181.69 47.80 3.801
## ElectrodeE2 105.63 52.89 1.997
## ElectrodeE3 76.31 52.89 1.443
## ElectrodeE4 -31.31 52.89 -0.592
## ElectrodeE5 -43.81 52.89 -0.828
##
## Correlation of Fixed Effects:
## (Intr) ElctE2 ElctE3 ElctE4
## ElectrodeE2 -0.553
## ElectrodeE3 -0.553 0.500
## ElectrodeE4 -0.553 0.500 0.500
## ElectrodeE5 -0.553 0.500 0.500 0.500
#intervals .95
require(nlme)
## Loading required package: nlme
##
## Attaching package: 'nlme'
## The following object is masked from 'package:lme4':
##
## lmList
confint(m0,level = 0.95)
## Computing profile confidence intervals ...
## Warning in if (parm == "theta_") {: 條件的長度 > 1,因此只能用其第一元素
## Warning in if (parm == "beta_") {: 條件的長度 > 1,因此只能用其第一元素
## 2.5 % 97.5 %
## .sig01 70.548336 184.6781
## .sigma 122.962425 174.0792
## (Intercept) 89.126933 274.2481
## ElectrodeE2 3.729397 207.5206
## ElectrodeE3 -25.583103 178.2081
## ElectrodeE4 -133.208103 70.5831
## ElectrodeE5 -145.708103 58.0831
#The interval of Electrode2 did not include zero point
#E2 may be having an undue influence on the results
Q5
#two model to compare
require(mets)
## Loading required package: mets
## Loading required package: timereg
## Loading required package: survival
## Loading required package: lava
## lava version 1.5.1
## mets version 1.2.2
data(dermalridgesMZ)
head(dermalridgesMZ)
## sex left right group id
## 1 female 95 83 psychotic&neurotic 1
## 2 female 90 85 psychotic&neurotic 1
## 3 female 93 90 psychotic&neurotic 2
## 4 female 80 80 psychotic&neurotic 2
## 5 male 99 94 psychotic&neurotic 3
## 6 male 94 99 psychotic&neurotic 3
str(dermalridgesMZ)
## 'data.frame': 36 obs. of 5 variables:
## $ sex : Factor w/ 2 levels "female","male": 1 1 1 1 2 2 1 1 1 1 ...
## $ left : int 95 90 93 80 99 94 55 48 41 26 ...
## $ right: num 83 85 90 80 94 99 61 54 24 42 ...
## $ group: Factor w/ 2 levels "normal","psychotic&neurotic": 2 2 2 2 2 2 2 2 2 2 ...
## $ id : int 1 1 2 2 3 3 4 4 5 5 ...
## - attr(*, "na.action")=Class 'omit' Named int [1:12] 37 38 39 40 41 42 43 44 45 46 ...
## .. ..- attr(*, "names")= chr [1:12] "37" "38" "39" "40" ...
as.factor(dermalridgesMZ$id)
## [1] 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12
## [24] 12 13 13 14 14 15 15 16 16 17 17 18 18
## Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
m0 = lmer(right~ left+(1|id), data = dermalridgesMZ)
summary(m0)
## Linear mixed model fit by REML ['lmerMod']
## Formula: right ~ left + (1 | id)
## Data: dermalridgesMZ
##
## REML criterion at convergence: 250.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.66773 -0.46281 0.02278 0.59754 1.60380
##
## Random effects:
## Groups Name Variance Std.Dev.
## id (Intercept) 0.00 0.000
## Residual 63.38 7.961
## Number of obs: 36, groups: id, 18
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 10.07986 4.13771 2.436
## left 0.85750 0.06022 14.240
##
## Correlation of Fixed Effects:
## (Intr)
## left -0.947
m1 = lm ( right ~ left, data = dermalridgesMZ)
summary(m1)
##
## Call:
## lm(formula = right ~ left, data = dermalridgesMZ)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.2374 -3.6843 0.1813 4.7570 12.7676
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.07986 4.13771 2.436 0.0202 *
## left 0.85750 0.06022 14.240 6.86e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.961 on 34 degrees of freedom
## Multiple R-squared: 0.8564, Adjusted R-squared: 0.8522
## F-statistic: 202.8 on 1 and 34 DF, p-value: 6.857e-16
#compare two model
anova(m0,m1)
## refitting model(s) with ML (instead of REML)
## Data: dermalridgesMZ
## Models:
## m1: right ~ left
## m0: right ~ left + (1 | id)
## Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
## m1 3 255.47 260.22 -124.74 249.47
## m0 4 257.47 263.81 -124.74 249.47 0 1 1
#p>.05
Q6
#
# variance components
#
# set path to working directory
setwd("C:/Users/USER/Desktop/Multilevel Statistical/w4 exercise")
# package management
require(pacman)
## Loading required package: pacman
#
pacman::p_load(ggplot2, nlme, lme4, dplyr, tidyr)
# input data
dta <- read.table("dog_scans.txt", header = T)
# first 6 lines
head(dta)
## Dog Observer Scan Thickness
## 1 Midge C dog_67 2.60
## 2 Tara C dog_77 4.93
## 3 Tara B dog_77 3.47
## 4 Tara A dog_77 5.29
## 5 Tara C dog_78 2.54
## 6 Tara B dog_78 2.80
# data structure
str(dta)
## 'data.frame': 55 obs. of 4 variables:
## $ Dog : Factor w/ 11 levels "Aussie","Corrie",..: 9 11 11 11 11 11 11 7 7 7 ...
## $ Observer : Factor w/ 3 levels "A","B","C": 3 3 2 1 3 2 1 3 2 1 ...
## $ Scan : Factor w/ 29 levels "dog_100","dog_101",..: 14 15 15 15 16 16 16 17 17 17 ...
## $ Thickness: num 2.6 4.93 3.47 5.29 2.54 2.8 3 3.57 3.3 2.66 ...
# set theme to black and white and save parameters
ot <- theme_set(theme_bw())
# plot
ggplot(dta, aes(reorder(Dog, Thickness, mean), Thickness, color = Scan)) +
geom_point() +
geom_hline(yintercept =mean(dta$Thickness), linetype = "dashed") +
#虛線為mean of Thickness
facet_wrap( ~ Observer) +
labs(y = "Thickness", x = "Dog ID") +
theme(legend.position = "NONE")

# mixed-effect approach
summary(m2 <- lmer(Thickness ~ (1 | Observer) + (1 | Dog) +
(1 | Dog:Observer) + (1 | Scan), data = dta))
## Linear mixed model fit by REML ['lmerMod']
## Formula: Thickness ~ (1 | Observer) + (1 | Dog) + (1 | Dog:Observer) +
## (1 | Scan)
## Data: dta
##
## REML criterion at convergence: 177.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.8144 -0.5141 -0.0410 0.3252 1.6897
##
## Random effects:
## Groups Name Variance Std.Dev.
## Scan (Intercept) 0.70477 0.8395
## Dog:Observer (Intercept) 0.30706 0.5541
## Dog (Intercept) 0.29388 0.5421
## Observer (Intercept) 0.08284 0.2878
## Residual 0.56554 0.7520
## Number of obs: 55, groups:
## Scan, 29; Dog:Observer, 28; Dog, 11; Observer, 3
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 4.4157 0.3298 13.39
#take into account the interaction between Dog and Observer
# confidence intervals for model parameters
confint(m2)
## Computing profile confidence intervals ...
## Warning in if (parm == "theta_") {: 條件的長度 > 1,因此只能用其第一元素
## Warning in if (parm == "beta_") {: 條件的長度 > 1,因此只能用其第一元素
## 2.5 % 97.5 %
## .sig01 0.2863717 1.357591
## .sig02 0.0000000 1.071654
## .sig03 0.0000000 1.281156
## .sig04 0.0000000 1.065162
## .sigma 0.4839820 1.180072
## (Intercept) 3.7390502 5.170843
# random effects
ranef(m2)
## $Scan
## (Intercept)
## dog_100 0.80990693
## dog_101 -0.49295053
## dog_102 0.31435413
## dog_105 -0.03842648
## dog_106 -0.54508083
## dog_107 -0.74506368
## dog_108 0.67618155
## dog_110 0.92897796
## dog_111 -0.18539685
## dog_112 0.27473124
## dog_113 -0.81398077
## dog_114 0.19778951
## dog_115 0.09132913
## dog_67 -0.42626504
## dog_77 0.39241108
## dog_78 -1.01457482
## dog_79 -1.01069271
## dog_80 1.08532180
## dog_83 0.32642052
## dog_84 -0.14169816
## dog_85 -0.12955776
## dog_86 -0.36689329
## dog_90 0.39267038
## dog_92 -0.86257705
## dog_95 -0.16183142
## dog_96 -0.36696207
## dog_97 1.06929816
## dog_98 0.60834053
## dog_99 0.13421851
##
## $`Dog:Observer`
## (Intercept)
## Aussie:A 0.50616152
## Aussie:C -0.60257703
## Corrie:A -0.18028303
## Corrie:B 0.36867094
## Corrie:C -0.41877924
## Dance:A 0.29433508
## Dance:B 0.07070268
## Dance:C -0.29718507
## Gem:A 0.45073628
## Gem:B 0.04060181
## Gem:C -0.07998978
## Gus:C -0.07781310
## Isla:A -0.01727277
## Isla:B 0.38779768
## Isla:C 0.36040957
## Jenny:A -0.48395797
## Jenny:B 0.34611485
## Jenny:C 0.17035846
## Jos:A -0.34649793
## Jos:B 0.04627890
## Jos:C 0.38070116
## Midge:C -0.41439890
## Mist:A -0.01804194
## Mist:B -0.25223106
## Mist:C 0.03723091
## Tara:A 0.11156981
## Tara:B -0.44833391
## Tara:C 0.06569207
##
## $Dog
## (Intercept)
## Aussie -0.09227512
## Corrie -0.22049759
## Dance 0.06493888
## Gem 0.39368372
## Gus -0.07447156
## Isla 0.69954585
## Jenny 0.03111902
## Jos 0.07702598
## Midge -0.39660331
## Mist -0.22303453
## Tara -0.25943134
##
## $Observer
## (Intercept)
## A 0.08545233
## B 0.15096899
## C -0.23642131
# covariates summarized over groups
###