diff --git a/R/networkanalysis.R b/R/networkanalysis.R index 5dd5181..69377b9 100644 --- a/R/networkanalysis.R +++ b/R/networkanalysis.R @@ -52,15 +52,12 @@ NetworkAnalysis <- function(jaspResults, dataset, options) { if (!is.null(dataset)) return(dataset) - variables <- unlist(options[["variables"]]) - groupingVariable <- options[["groupingVariable"]] - vars2read <- c(variables, groupingVariable) - vars2read <- vars2read[vars2read != ""] + vars2read <- c("variables", "groupingVariable") exclude <- c() if (options[["missingValues"]] == "listwise") exclude <- vars2read - dataset <- .readDataSetToEnd(columns.as.numeric = vars2read, exclude.na.listwise = exclude) - # dataset <- .readDataSetToEnd(columns = vars2read, exclude.na.listwise = exclude) # jaspTools need this, JASP the line above + + dataset <- jaspBase::readDataSetByVariableTypes(options, vars2read, exclude.na.listwise = exclude) if (options[["groupingVariable"]] == "") { # one network dataset <- list(dataset) # for compatability with the split behaviour diff --git a/tests/testthat/test-bayesiannetworkanalysis.R b/tests/testthat/test-bayesiannetworkanalysis.R index 99b1894..4724158 100644 --- a/tests/testthat/test-bayesiannetworkanalysis.R +++ b/tests/testthat/test-bayesiannetworkanalysis.R @@ -11,6 +11,7 @@ testthat::test_that("Analysis handles too many missing values errors", { options <- jaspTools::analysisOptions("BayesianNetworkAnalysis") options$estimator <- "gcgm" options$variables <- c("contNormal", "contGamma", "debMiss99") + options$variables.types <- rep("scale", length(options$variables)) results <- jaspTools::runAnalysis("BayesianNetworkAnalysis", "test.csv", options) testthat::expect_true(results[["results"]][["error"]]) @@ -21,7 +22,9 @@ testthat::test_that("Analysis handles too many missing values errors with groupi options <- jaspTools::analysisOptions("BayesianNetworkAnalysis") options$estimator <- "gcgm" options$variables <- c("contNormal", "contGamma", "debMiss80") + options$variables.types <- rep("scale", length(options$variables)) options$groupingVariable <- "facFifty" + options$groupingVariable.types <- "nominal" options$dfprior <- 3 options$gprior <- "0.5" results <- jaspTools::runAnalysis("BayesianNetworkAnalysis", "test.csv", options) @@ -46,6 +49,7 @@ testthat::test_that("Centrality plot works with empty graphs", { options <- analysisOptions("BayesianNetworkAnalysis") options$estimator <- "gcgm" options$variables <- c("extra", "group", "ID") + options$variables.types <- rep("scale", length(options$variables)) options$dfprior <- 3 options$gprior <- "0.5" options$manualColorGroups <- list(list(color = "red", name = "Group 1"), list(color = "red", name = "Group 2")) diff --git a/tests/testthat/test-networkanalysis.R b/tests/testthat/test-networkanalysis.R index 2351c0a..7078915 100644 --- a/tests/testthat/test-networkanalysis.R +++ b/tests/testthat/test-networkanalysis.R @@ -8,6 +8,7 @@ context("Network Analysis") options <- jaspTools::analysisOptions("NetworkAnalysis") options$estimator <- "ebicGlasso" options$variables <- c("contNormal", "contcor1", "contcor2") +options$variables.types <- rep("scale", length(options$variables)) options$centralityTable <- TRUE options$clusteringTable <- TRUE options$weightsMatrixTable <- TRUE @@ -60,6 +61,7 @@ options$centralityTable <- TRUE options$clusteringTable <- TRUE options$weightsMatrixTable <- TRUE options$variables <- list("A1", "A2", "A3", "A4", "A5") +options$variables.types <- rep("scale", length(options$variables)) estimators <- c("ebicGlasso","cor","pcor","isingFit","isingSampler","huge","adalasso") file <- testthat::test_path("networkResults.rds") @@ -177,6 +179,7 @@ dataset <- as.data.frame(dataset) options <- jaspTools::analysisOptions("NetworkAnalysis") options$estimator <- "ebicGlasso" options$variables <- c("V1", "V2", "V3") +options$variables.types <- rep("scale", length(options$variables)) results <- jaspTools::runAnalysis("NetworkAnalysis", dataset, options) test_that("Too many missing rows returns an error", { @@ -198,6 +201,7 @@ dataset$layoutY <- c("V1 = 1", "V2 = 0") options <- jaspTools::analysisOptions("NetworkAnalysis") options$estimator <- "ebicGlasso" options$variables <- c("V1", "V2", "V3") +options$variables.types <- rep("scale", length(options$variables)) options$layoutX <- "layoutX" options$layoutY <- "layoutY" options$networkPlot <- TRUE @@ -215,6 +219,7 @@ test_that("Incorrect user layout shows a warning", { options <- analysisOptions("NetworkAnalysis") options$estimator <- "pcor" options$variables <- c(paste0("A", 1:5), paste0("O", 1:5), paste0("E", 1:5)) +options$variables.types <- rep("ordinal", length(options$variables)) options$networkPlot <- TRUE options$weightsMatrixTable <- TRUE options$thresholdBox <- "method"