context('latrendRep')
rngReset()
m = lcMethodLMKM(formula = Value ~ Assessment)
test_that('default', {
models = latrendRep(lcMethodLMKM(formula = Value ~ Assessment), data = testLongData, .rep = 2)
expect_is(models, 'lcModels')
expect_length(models, 2)
expect_equal(deparse(getCall(models[[1]])$data), 'testLongData')
expect_equal(deparse(getCall(models[[2]])$data), 'testLongData')
})
test_that('method var', {
models = latrendRep(m, data = testLongData, .rep = 2)
expect_is(models, 'lcModels')
expect_length(models, 2)
})
test_that('method name', {
refMethod = mTest
model = latrendRep('lcMethodLMKM', formula = Value ~ Assessment, data = testLongData, .rep = 1)[[1]]
newMethod = getLcMethod(model)
expect_equal(newMethod$nClusters, refMethod$nClusters)
})
test_that('single rep', {
models = latrendRep(m, data = testLongData, .rep = 1)
expect_is(models, 'lcModels')
expect_length(models, 1)
})
test_that('matrix input', {
mat = tsmatrix(testLongData, response = 'Value')
models = latrendRep(m, data = mat, .rep = 2)
expect_is(models, 'lcModels')
expect_length(models, 2)
})
test_that('envir', {
method = lcMethodLMKM(nClusters = a, formula = Value ~ Assessment)
env = list2env(list(a = 1))
models = latrendRep(method, data = testLongData, envir = env, .rep = 2)
expect_is(models, 'lcModels')
expect_length(models, 2)
expect_equal(nClusters(models[[1]]), 1)
})
test_that('repeated probabilistic method calls yield different results', {
method = lcMethodTestRandom(alpha = 1, nClusters = 3)
models = latrendRep(method, data = testLongData, .rep = 2)
expect_true(!isTRUE(all.equal(trajectoryAssignments(models[[1]]), trajectoryAssignments(models[[2]]))))
})
test_that('setting .seed', {
method = lcMethodTestRandom(alpha = 1, nClusters = 3)
models1 = latrendRep(method, data = testLongData, .rep = 2, .seed = 1)
models2 = latrendRep(method, data = testLongData, .rep = 2, .seed = 2)
expect_true(!isTRUE(all.equal(trajectoryAssignments(models1[[1]]), trajectoryAssignments(models1[[2]]))))
expect_true(!isTRUE(all.equal(trajectoryAssignments(models2[[1]]), trajectoryAssignments(models2[[2]]))))
expect_true(!isTRUE(all.equal(trajectoryAssignments(models1[[1]]), trajectoryAssignments(models2[[1]]))))
expect_true(!isTRUE(all.equal(trajectoryAssignments(models1[[2]]), trajectoryAssignments(models2[[2]]))))
})
test_that('method seed is ignored', {
method = lcMethodTestRandom(alpha = 1, nClusters = 3, seed = 1)
expect_warning({
models = latrendRep(method, data = testLongData)
})
expect_true(!isTRUE(all.equal(trajectoryAssignments(models[[1]]), trajectoryAssignments(models[[2]]))))
expect_warning({
models2 = latrendRep(method, data = testLongData, seed = 2)
})
expect_true(!isTRUE(all.equal(trajectoryAssignments(models[[1]]), trajectoryAssignments(models2[[1]]))))
expect_true(!isTRUE(all.equal(trajectoryAssignments(models2[[1]]), trajectoryAssignments(models2[[2]]))))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.