File: xxm-4.R

package info (click to toggle)
r-cran-openmx 2.21.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 14,412 kB
  • sloc: cpp: 36,577; ansic: 13,811; fortran: 2,001; sh: 1,440; python: 350; perl: 21; makefile: 5
file content (34 lines) | stat: -rw-r--r-- 1,223 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Penicillin: Random-Intercept, Cross-Classified model
# http://xxm.times.uh.edu/learn-xxm/penicillin/

libraries <- rownames(installed.packages())
if (!("lme4" %in% libraries)) stop("SKIP")
library(lme4)
library(OpenMx)

plateModel <- mxModel(
    'plateModel', type="RAM",
    latentVars = c('plate'),
    mxData(data.frame(plate=unique(Penicillin$plate)), 'raw', primaryKey='plate'),
    mxPath('plate', arrows=2, values=1))

sampleModel <- mxModel(
    'sampleModel', type="RAM",
    latentVars = c('sample'),
    mxData(data.frame(sample=unique(Penicillin$sample)), 'raw', primaryKey='sample'),
    mxPath('sample', arrows=2, values=1))

diameterModel <- mxModel(
    'diameterModel', type="RAM", plateModel, sampleModel,
    manifestVars='diameter',
    mxData(Penicillin, 'raw'),
    mxPath('one', 'diameter'),
    mxPath('diameter', arrows=2, values=1),
    mxPath('plateModel.plate', 'diameter', free=FALSE, values=1, joinKey='plate'),
    mxPath('sampleModel.sample', 'diameter', free=FALSE, values=1, joinKey='sample'))

diameterModel <- mxRun(diameterModel)

(fm03.1 <- lmer(diameter ~ 1 + (1 | plate) + (1 | sample), REML = FALSE, Penicillin))

omxCheckCloseEnough(logLik(diameterModel), logLik(fm03.1), 1e-5)