This repository has been archived by the owner on Jun 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
Steps to install TMB
Jim Thorson edited this page Feb 7, 2017
·
8 revisions
Install a recent version of R (JTT currently uses 3.2.2)
If using a Windows machine, install a matching version of Rtools
- Available at https://cran.r-project.org/bin/windows/Rtools/
- For example, R v3.2.2 requires Rtools33
- During installation, please check box to ensure that Rtools is added to your PATH
- It is not necessary to install Rtools if using an apple or Linux operating system
- On a government machine, this will require admin privileges, and will probably require working with your IT department (and they can often do this remotely)
Install TMB from CRAN using install.packages("TMB")
in the R terminal
Confirm that TMB is working by running a simple TMB example, by cut-pasting the following text into your R terminal:
######################
# Simulate data for a linear mixed model with random intercepts
######################
set.seed(1)
Factor = rep( 1:10, each=10)
Z = rnorm( length(unique(Factor)), mean=0, sd=1)
X0 = 0
Y = Z[Factor] + X0 + rnorm( length(Factor), mean=0, sd=1)
######################
# Run in TMB
######################
install.packages("TMB")
library(TMB)
Version = "linear_mixed_model"
# Download CPP file
setwd( tempdir() )
download.file( url="https://raw.githubusercontent.com/James-Thorson/mixed-effects/master/linear_mixed_model/linear_mixed_model.cpp", destfile="linear_mixed_model.cpp", method="auto")
compile( paste0(Version,".cpp") )
# Generate inputs for TMB
Data = list( "n_data"=length(Y), "n_factors"=length(unique(Factor)), "Factor"=Factor-1, "Y"=Y)
Parameters = list( "X0"=-10, "log_SD0"=2, "log_SDZ"=2, "Z"=rep(0,Data$n_factor) )
Random = c("Z")
# Build TMB object
dyn.load( dynlib(Version) )
Obj = MakeADFun(data=Data, parameters=Parameters, random=Random) #
# Check that TMB is working
Obj$fn( Obj$par )
# Answer should be "313.4137"