Nothing
# context("SEMinR correctly bootstraps simple models\n")
# Test cases
# ## One antecedent model cases
# set.seed(123)
#
# inn_mm <- constructs(
# composite("INN_P", multi_items("IMAG", 1:4)),
# composite("INN_M", multi_items("PERQ", 1:4)),
# composite("THIRD", multi_items("CUEX", 1:3))
# )
#
# inn_sm <- relationships(paths(from = "INN_P", to = "INN_M"))
# pls <- estimate_pls(data = mobi, inn_mm, inn_sm)
# expect_error(bootstrap_model(seminr_model = pls, nboot = 5), NA)
#
# inn_sm <- relationships(paths(from = "INN_P", to = c("INN_M", "THIRD")))
# pls <- estimate_pls(data = mobi, inn_mm, inn_sm)
# expect_error(bootstrap_model(seminr_model = pls, nboot = 5), NA)
# Test cases
## Simple case
set.seed(123)
mobi_mm <- constructs(
composite("Image", multi_items("IMAG", 1:5), weights = mode_A),
composite("Expectation", multi_items("CUEX", 1:3), weights = mode_A),
composite("Value", multi_items("PERV", 1:2), weights = mode_A),
composite("Satisfaction", multi_items("CUSA", 1:3), weights = mode_A)
)
mobi_sm <- relationships(
paths(to = "Satisfaction",
from = c("Image", "Expectation", "Value"))
)
# Load data, assemble model, and estimate using semPLS
mobi <- mobi
seminr_model <- estimate_pls(mobi, mobi_mm, mobi_sm, inner_weights = path_factorial)
bootmodel <- bootstrap_model(seminr_model,nboot = 200, cores = 2, seed = 123)
# Load outputs
bootmatrix <- bootmodel$paths_descriptives
## Output originally created using following lines
# write.csv(bootmodel$paths_descriptives, file = "tests/fixtures/V_3_5_X/boostrapmatrix1.csv") # V3.5.X
# write.csv(bootmodel$paths_descriptives, file = "tests/fixtures/V_3_6_0/boostrapmatrix1.csv") # V3.6.0
# Load controls
bootmatrix_control <- as.matrix(read.csv(file = paste(test_folder,"boostrapmatrix1.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly", {
expect_equal(bootmatrix[,1], bootmatrix_control[,1], tolerance = 0.00001)
expect_equal(bootmatrix[,2], bootmatrix_control[,2], tolerance = 0.00001)
expect_equal(bootmatrix[,3], bootmatrix_control[,3], tolerance = 0.00001)
})
context("SEMinR correctly bootstraps the interaction model\n")
# Test cases
## Interaction case
mobi_mm <- constructs(
composite("Image", multi_items("IMAG", 1:5), weights = correlation_weights),
composite("Expectation", multi_items("CUEX", 1:3), weights = correlation_weights),
composite("Value", multi_items("PERV", 1:2), weights = correlation_weights),
composite("Satisfaction", multi_items("CUSA", 1:3), weights = correlation_weights),
interaction_term(iv = "Image", moderator = "Expectation", method = orthogonal, weights = mode_A),
interaction_term(iv = "Image", moderator = "Value", method = orthogonal, weights = mode_A)
)
mobi_sm <- relationships(
paths(to = "Satisfaction",
from = c("Image", "Expectation", "Value",
"Image*Expectation", "Image*Value"))
)
# Load data, assemble model, and estimate using semPLS
seminr_model <- estimate_pls(mobi, mobi_mm, mobi_sm, inner_weights = path_factorial)
bootmodel <- bootstrap_model(seminr_model,nboot = 200, cores = 2, seed = 123)
# Load outputs
bootmatrix <- bootmodel$paths_descriptives
## Output originally created using following lines
# write.csv(bootmodel$paths_descriptives, file = "tests/fixtures/V_3_5_X/boostrapmatrix2.csv") # V3.5.X
# write.csv(bootmodel$paths_descriptives, file = "tests/fixtures/V_3_6_0/boostrapmatrix2.csv") # V3.6.0
# Load controls
bootmatrix_control <- as.matrix(read.csv(paste(test_folder,"boostrapmatrix2.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly", {
expect_equal(bootmatrix[,1], bootmatrix_control[,1], tolerance = 0.00001)
expect_equal(bootmatrix[,2], bootmatrix_control[,2], tolerance = 0.00001)
expect_equal(bootmatrix[,3], bootmatrix_control[,3], tolerance = 0.00001)
})
context("SEMinR correctly bootstraps the model weights - composite measurement mode\n")
# Test cases
## Regular model
mobi_mm <- constructs(
composite("Image", multi_items("IMAG", 1:5), weights = correlation_weights),
composite("Expectation", multi_items("CUEX", 1:3), weights = correlation_weights),
composite("Value", multi_items("PERV", 1:2), weights = correlation_weights),
composite("Satisfaction", multi_items("CUSA", 1:3), weights = correlation_weights)
)
mobi_sm <- relationships(
paths(to = "Satisfaction",
from = c("Image", "Expectation", "Value"))
)
# Load data, assemble model, and estimate using semPLS
mobi <- mobi
seminr_model <- estimate_pls(mobi, mobi_mm, mobi_sm, inner_weights = path_factorial)
bootmodel <- bootstrap_model(seminr_model,nboot = 200, cores = 2, seed = 123)
# Load outputs
bootmatrix <- bootmodel$weights_descriptives
## Output originally created using following lines
# write.csv(bootmodel$weights_descriptives, file = "tests/fixtures/V_3_5_X/boot_weights.csv") # V3.5.X
# write.csv(bootmodel$weights_descriptives, file = "tests/fixtures/V_3_6_0/boot_weights.csv") # V3.6.0
# Load controls
bootmatrix_control <- as.matrix(read.csv(paste(test_folder,"boot_weights.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly", {
expect_equal(bootmatrix[,1], bootmatrix_control[,1], tolerance = 0.00001)
expect_equal(bootmatrix[,2], bootmatrix_control[,2], tolerance = 0.00001)
expect_equal(bootmatrix[,3], bootmatrix_control[,3], tolerance = 0.00001)
})
context("SEMinR correctly bootstraps the model loadings - factor measurement mode\n")
# Test cases
## Regular model
mobi_mm <- constructs(
reflective("Image", multi_items("IMAG", 1:5)),
reflective("Expectation", multi_items("CUEX", 1:3)),
reflective("Value", multi_items("PERV", 1:2)),
reflective("Satisfaction", multi_items("CUSA", 1:3))
)
mobi_sm <- relationships(
paths(to = "Satisfaction",
from = c("Image", "Expectation", "Value"))
)
# Load data, assemble model, and estimate using semPLS
mobi <- mobi
seminr_model <- estimate_pls(mobi, mobi_mm, mobi_sm, inner_weights = path_weighting)
bootmodel <- bootstrap_model(seminr_model,nboot = 200, cores = 2, seed = 123)
# Load outputs
bootmatrix <- bootmodel$loadings_descriptives
## Output originally created using following lines
# write.csv(bootmodel$loadings_descriptives, file = "tests/fixtures/V_3_5_x/boot_loadings.csv") # V3.5.X
# write.csv(bootmodel$loadings_descriptives, file = "tests/fixtures/V_3_6_0/boot_loadings.csv") # V3.6.0
# Load controls
bootmatrix_control <- as.matrix(read.csv(paste(test_folder,"boot_loadings.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly", {
expect_equal(bootmatrix[,1], bootmatrix_control[,1], tolerance = 0.00001)
expect_equal(bootmatrix[,2], bootmatrix_control[,2], tolerance = 0.00001)
expect_equal(bootmatrix[,3], bootmatrix_control[,3], tolerance = 0.00001)
})
context("SEMinR correctly bootstraps the model HTMT - factor measurement mode\n")
# Test cases
# Load outputs
bootmatrix <- bootmodel$HTMT_descriptives
## Output originally created using following lines
# write.csv(bootmodel$HTMT_descriptives, file = "tests/fixtures/V_3_5_X/boot_HTMT.csv") # V3.5.X
# write.csv(bootmodel$HTMT_descriptives, file = "tests/fixtures/V_3_6_0/boot_HTMT.csv") # V3.6.0
# Load controls
bootmatrix_control <- as.matrix(read.csv(paste(test_folder,"boot_HTMT.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly", {
expect_equal(bootmatrix[,1], bootmatrix_control[,1], tolerance = 0.00001)
expect_equal(bootmatrix[,2], bootmatrix_control[,2], tolerance = 0.00001)
expect_equal(bootmatrix[,3], bootmatrix_control[,3], tolerance = 0.00001)
})
context("SEMinR correctly reports the confidence interval bootstrapped paths\n")
# Test cases
## Simple case
set.seed(123)
mobi_mm <- constructs(
composite("Image", multi_items("IMAG", 1:5), weights = mode_A),
composite("Expectation", multi_items("CUEX", 1:3), weights = mode_A),
composite("Value", multi_items("PERV", 1:2), weights = mode_A),
composite("Satisfaction", multi_items("CUSA", 1:3), weights = mode_A)
)
mobi_sm <- relationships(
paths(to = "Satisfaction",
from = c("Image", "Expectation", "Value")),
paths(to = "Expectation", from = "Image")
)
# Load data, assemble model, and estimate using semPLS
mobi <- mobi
seminr_model <- estimate_pls(mobi, mobi_mm, mobi_sm, inner_weights = path_factorial)
bootmodel <- bootstrap_model(seminr_model,nboot = 200, cores = 2, seed = 123)
# Load outputs
paths <- bootmodel$boot_paths
## Output originally created using following lines
# write.csv(c(confidence_interval(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction"),
# confidence_interval(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction", alpha = 0.1),
# confidence_interval(bootmodel, from = "Image", to = "Satisfaction")),
# file = "tests/fixtures/V_3_6_0/conf_ints.csv")
# Load controls
conf_ints_control <- as.matrix(read.csv(paste(test_folder,"conf_ints.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr calculates the confidence intervals correctly", {
expect_equal(specific_effect_significance(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction")[[5]],
conf_ints_control[1,1], tolerance = 0.00001)
expect_equal(specific_effect_significance(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction")[[6]],
conf_ints_control[2,1], tolerance = 0.00001)
expect_equal(specific_effect_significance(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction", alpha = 0.1)[[5]],
conf_ints_control[3,1], tolerance = 0.00001)
expect_equal(specific_effect_significance(bootmodel, from = "Image", through = "Expectation", to = "Satisfaction", alpha = 0.1)[[6]],
conf_ints_control[4,1], tolerance = 0.00001)
expect_equal(specific_effect_significance(bootmodel, from = "Image", to = "Satisfaction")[[5]],
conf_ints_control[5,1], tolerance = 0.00001)
expect_equal(specific_effect_significance(bootmodel, from = "Image", to = "Satisfaction")[[6]],
conf_ints_control[6,1], tolerance = 0.00001)
})
# Test cases
context("SEMinR correctly reports the confidence interval bootstrapped paths\n")
# Bootstrap performs correctly with missing values, factorial method, and low stop criterion
corp_rep_data <- corp_rep_data
# Create measurement model ----
corp_rep_mm_ext <- constructs(
composite("QUAL", multi_items("qual_", 1:8), weights = mode_B),
composite("PERF", multi_items("perf_", 1:5), weights = mode_B),
composite("CSOR", multi_items("csor_", 1:5), weights = mode_B),
composite("ATTR", multi_items("attr_", 1:3), weights = mode_B),
composite("COMP", multi_items("comp_", 1:3)),
composite("LIKE", multi_items("like_", 1:3)),
composite("CUSA", single_item("cusa")),
composite("CUSL", multi_items("cusl_", 1:3))
)
# Create structural model ----
corp_rep_sm_ext <- relationships(
paths(from = c("QUAL", "PERF", "CSOR", "ATTR"), to = c("COMP", "LIKE")),
paths(from = c("COMP", "LIKE"), to = c("CUSA", "CUSL")),
paths(from = c("CUSA"), to = c("CUSL"))
)
# Estimate the model ----
corp_rep_pls_model_ext <- estimate_pls(
data = corp_rep_data,
measurement_model = corp_rep_mm_ext,
structural_model = corp_rep_sm_ext,
inner_weights = path_factorial,
missing = mean_replacement,
missing_value = "-99",
stopCriterion = 1)
# Summarize model
summary_corp_rep_ext <- summary(corp_rep_pls_model_ext)
# Bootstrap model
boot_model <- bootstrap_model(corp_rep_pls_model_ext, nboot = 200, cores = 2, seed = 123)
# Summarize bootstrapped model
sum_boot_model <- summary(boot_model)
# Load outputs
paths <- sum_boot_model$bootstrapped_paths
descriptives <- summary_corp_rep_ext$descriptives$statistics$items
## Output originally created using following lines
# write.csv(sum_boot_model$bootstrapped_paths, file = "tests/fixtures/V_3_6_0/missing_cases_paths.csv")
# write.csv(summary_corp_rep_ext$descriptives$statistics$items, file = "tests/fixtures/V_3_6_0/missing_cases_item_descriptives.csv")
# Load controls
boot_paths_control <- as.matrix(read.csv(paste(test_folder,"missing_cases_paths.csv", sep = ""), row.names = 1))
boot_item_control <- as.matrix(read.csv(paste(test_folder,"missing_cases_item_descriptives.csv", sep = ""), row.names = 1))
# Testing
test_that("Seminr performs the bootstrapping correctly with missing values", {
expect_equal(paths[, 1], boot_paths_control[, 1], tolerance = 0.00001)
expect_equal(paths[, 2], boot_paths_control[, 2], tolerance = 0.00001)
expect_equal(paths[, 3], boot_paths_control[, 3], tolerance = 0.00001)
expect_equal(paths[, 4], boot_paths_control[, 4], tolerance = 0.00001)
expect_equal(paths[, 5], boot_paths_control[, 5], tolerance = 0.00001)
expect_equal(paths[, 6], boot_paths_control[, 6], tolerance = 0.00001)
})
test_that("Seminr calculates descriptives correctly with missing values", {
expect_equal(descriptives[, 7], boot_item_control[, 7], tolerance = 0.00001)
expect_equal(descriptives[, 2], boot_item_control[, 2], tolerance = 0.00001)
expect_equal(descriptives[, 3], boot_item_control[, 3], tolerance = 0.00001)
expect_equal(descriptives[, 4], boot_item_control[, 4], tolerance = 0.00001)
expect_equal(descriptives[, 5], boot_item_control[, 5], tolerance = 0.00001)
expect_equal(descriptives[, 6], boot_item_control[, 6], tolerance = 0.00001)
expect_equal(descriptives[, 8], boot_item_control[, 8], tolerance = 0.00001)
expect_equal(descriptives[, 9], boot_item_control[, 9], tolerance = 0.00001)
})
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.