Nothing
test_that("Univariable second-order differential test", {
data('example1')
model1 <- '
X =~ myX
time =~ myTime
X(2) ~ X(1) + X
'
result1 <- defit(data = example1, model = model1,method = 'Nelder-Mead')
if(is.null(result1)){
test_out = 'error'
}else{
test_out = 'pass'
}
expect_equal(test_out,'pass')
})
test_that("bivariate first-order differential test", {
data('example2')
model2 <- '
# define variable
X =~ myX
Y =~ myY
# define time
time =~ myTime
# define differential equation
X(1) ~ X + Y
Y(1) ~ Y + X
'
result2 <- defit(data = example2, model = model2)
if(is.null(result2)){
test_out2 = 'error'
}else{
test_out2 = 'pass'
}
expect_equal(test_out2,'pass')
})
test_that("Guess values test", {
data('example2')
model2 <- '
# define variable
X =~ myX
Y =~ myY
# define time
time =~ myTime
# define differential equation
X(1) ~ X + Y
Y(1) ~ Y + X
'
result3 <- defit(data = example2, model = model2,guess=c(0,0,0,0,0,0))
if(is.null(result3)){
test_out3 = 'error'
}else{
test_out3 = 'pass'
}
expect_equal(test_out3,'pass')
})
test_that("Multilevel univariate differential euqation", {
data('example3')
model3 <- '
X =~ current
time =~ myTime
X(2) ~ X(1) + X + (1 + X(1) + X | year)
'
example3_use <- example3[(example3["year"] >= 2015)&(example3["year"] <= 2018),] # Note: select a subset of the data as an example.
example3_c <- Scale_within(example3_use, model3) # note: centering X variable by year
result4 <- defit(data=example3_c,model = model3,plot=FALSE)
if(is.null(result4)){
test_out4 = 'error'
}else{
test_out4 = 'pass'
}
expect_equal(test_out4,'pass')
})
test_that("Plot: Multilevel univariate differential euqation", {
data('example3')
model3 <- '
X =~ current
time =~ myTime
X(2) ~ X(1) + X + (1 + X(1) + X | year)
'
example3_use <- example3[(example3["year"] >= 2015)&(example3["year"] <= 2018),] # Note: select a subset of the data as an example.
example3_c <- Scale_within(example3_use, model3) # note: centering X variable by year
result5 <- defit(data=example3_c,model = model3,plot=FALSE)
if(is.null(result5)){
test_out5 = 'error'
}else{
test_out5 = 'pass'
}
expect_equal(test_out5,'pass')
}
)
test_that("guess and plot: Multilevel univariate differential euqation", {
data('example3')
model3 <- '
X =~ current
time =~ myTime
X(2) ~ X(1) + X + (1 + X(1) + X | year)
'
example3_use <- example3[(example3["year"] >= 2015)&(example3["year"] <= 2018),] # Note: select a subset of the data as an example.
example3_c <- Scale_within(example3_use, model3) # note: centering X variable by year
result6 <- defit(data=example3_c,model = model3,guess=list(c(0,0,0,0),c(0,0,0,0)),plot=TRUE)
if(is.null(result6)){
test_out6 = 'error'
}else{
test_out6 = 'pass'
}
expect_equal(test_out6,'pass')
}
)
test_that("guess, plot and method: Multilevel univariate differential euqation", {
data('example3')
model3 <- '
X =~ current
time =~ myTime
X(2) ~ X(1) + X + (1 + X(1) + X | year)
'
example3_use <- example3[(example3["year"] >= 2015)&(example3["year"] <= 2018),] # Note: select a subset of the data as an example.
example3_c <- Scale_within(example3_use, model3) # note: centering X variable by year
result7 <- defit(data=example3_c,model = model3,guess=list(c(0,0,0,0),c(0,0,0,0),mthod=list('L-BFGS-B','BFGS')),plot=TRUE)
if(is.null(result7)){
test_out7 = 'error'
}else{
test_out7 = 'pass'
}
expect_equal(test_out7,'pass')
}
)
# test_that("example1 simulation", {
# damped_oscillator <- function(t, y, parms) {
# with(as.list(parms), {
# dy1 <- y[2]
# dy2 <- beta1 * y[1] + beta2 * y[2]
# return(list(c(dy1, dy2)))
# })
# }
#
# mid_solve_data <- deSolve::ode(y = c(1,0.1),
# times = seq(1,30),
# func = damped_oscillator,
# parms = c(beta1=-0.3,beta2=-0.1))
#
# mid_solve_data
# res = mid_solve_data
# res[,2] = mid_solve_data[,2] + rnorm(30,0,sd(mid_solve_data[,2])/2)
# res[,3] = mid_solve_data[,3] + rnorm(30,0,sd(mid_solve_data[,3])/2)
# plot(res)
# res[,'myX'] = res[,2]
#
# out = data.frame()
# out$myX = res[,2]
# out
#
# library(readr)
# mydata <- read_csv("data/example1.csv")
# mydata$myTime <- mydata$myTime
# str(mydata)
# }
# )
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.