Nothing
## ----include=FALSE------------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
mets <- lava:::versioncheck('mets', 1)
## -----------------------------------------------------------------------------
library('lava')
m0 <- lvm(y1+y2 ~ x, y1 ~~ y2)
edgelabels(m0, y1 + y2 ~ x) <- c(expression(beta[1]), expression(beta[2]))
edgelabels(m0, y1 ~ y2) <- expression(rho)
plot(m0, layoutType="circo")
## ----load, results="hide",message=FALSE,warning=FALSE-------------------------
library('lava')
## ----m0-----------------------------------------------------------------------
m0 <- lvm() |>
covariance(y1 ~ y2, value='r') |>
regression(y1 + y2 ~ x)
## ----coef---------------------------------------------------------------------
coef(m0, labels=TRUE)
## ----sim----------------------------------------------------------------------
d <- sim(m0, 500, p=c(r=0.9), seed=1)
head(d)
## ----defcens------------------------------------------------------------------
cens1 <- function(threshold,type='right') {
function(x) {
x <- unlist(x)
if (type=='left')
return( survival::Surv(pmax(x,threshold), x>=threshold, type='left') )
return ( survival::Surv(pmin(x,threshold), x<=threshold) )
}
}
m0 <-
transform(m0, s1 ~ y1, cens1(-2, 'left')) |>
transform(s2 ~ y2, cens1(2, 'right'))
## ----sim2---------------------------------------------------------------------
d <- sim(m0, 500, p=c(r=0.9), seed=1)
head(d)
## ----est1---------------------------------------------------------------------
m <- lvm() |>
regression(y1 + y2 ~ x) |>
covariance(y1 ~ y2)
e <- estimate(m, data=d)
e
## ----delta--------------------------------------------------------------------
estimate(e, function(p) p['y1~~y2']/(p['y1~~y1']*p['y2~~y2'])^.5)
## ----correlation--------------------------------------------------------------
correlation(e)
## -----------------------------------------------------------------------------
estimate(e, function(p) atanh(p['y1~~y2']/(p['y1~~y1']*p['y2~~y2'])^.5), back.transform=tanh)
## ----constraints--------------------------------------------------------------
m2 <- m |>
parameter(~ l1 + l2 + z) |>
variance(~ y1 + y2, value=c('v1','v2')) |>
covariance(y1 ~ y2, value='c') |>
constrain(v1 ~ l1, fun=exp) |>
constrain(v2 ~ l2, fun=exp) |>
constrain(c ~ z+l1+l2, fun=function(x) tanh(x[1])*sqrt(exp(x[2])*exp(x[3])))
## ----estconstraints-----------------------------------------------------------
e2 <- estimate(m2, d)
e2
## ----deltaconstraints---------------------------------------------------------
estimate(e2, 'z', back.transform=tanh)
## ----constraints2-------------------------------------------------------------
m2 <- lvm() |>
regression(y1 + y2 ~ x) |>
covariance(y1 ~ y2, constrain=TRUE, rname='z')
e2 <- estimate(m2, data=d)
e2
## ----e2backtransform----------------------------------------------------------
estimate(e2, 'z', back.transform=tanh)
## ----profileci, cache=TRUE----------------------------------------------------
tanh(confint(e2, 'z', profile=TRUE))
## ----bootstrap, cache=TRUE----------------------------------------------------
set.seed(1)
b <- bootstrap(e2, data=d, R=50, mc.cores=1)
b
## ----cache=TRUE---------------------------------------------------------------
quantile(tanh(b$coef[,'z']), c(.025,.975))
## ----cache=TRUE, eval=mets----------------------------------------------------
m3 <- lvm() |>
regression(y1 + s2 ~ x) |>
covariance(y1 ~ s2, constrain=TRUE, rname='z')
e3 <- estimate(m3, d)
## ----eval=mets----------------------------------------------------------------
e3
## ----cache=TRUE, eval=mets----------------------------------------------------
estimate(e3, 'z', back.transform=tanh)
## ----cache=TRUE, eval=mets----------------------------------------------------
m3b <- lvm() |>
regression(s1 + s2 ~ x) |>
covariance(s1 ~ s2, constrain=TRUE, rname='z')
e3b <- estimate(m3b, d)
e3b
## ----eval=mets----------------------------------------------------------------
e3b
## ----cache=TRUE, eval=mets----------------------------------------------------
estimate(e3b, 'z', back.transform=tanh)
## ----profilecens, cache=TRUE, eval=mets---------------------------------------
tanh(confint(e3b, 'z', profile=TRUE))
## -----------------------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.