diff --git a/DESCRIPTION b/DESCRIPTION index 6de24767..8b8ee606 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: CausalQueries Type: Package Title: Make, Update, and Query Binary Causal Models -Version: 1.2.1 +Version: 1.3.0 Authors@R: c(person("Clara", "Bicalho", email = "clarabmcorreia@gmail.com", role = c("ctb")), person("Jasper", "Cooper", email = "jjc2247@columbia.edu", role = c("ctb")), person("Macartan", "Humphreys", email = "macartan@gmail.com", role = c("aut"), @@ -50,6 +50,8 @@ Suggests: rmarkdown, DeclareDesign, fabricatr, + texreg, + estimatr, bayesplot, covr SystemRequirements: GNU make diff --git a/R/CausalQueries-package.R b/R/CausalQueries-package.R index ad24e128..64c6e4d3 100644 --- a/R/CausalQueries-package.R +++ b/R/CausalQueries-package.R @@ -4,7 +4,7 @@ #' update over models given data, and calculate arbitrary causal queries. #' Model definition makes use of dagitty type syntax. #' Updating is implemented in 'stan'. -#' @docType _PACKAGE +#' @docType package #' #' @name CausalQueries #' @importFrom utils globalVariables @@ -15,5 +15,5 @@ globalVariables(names = c("posterior", "prob", "restrict", "n", "model", "data", "%>%", "node", "nodal_type","param_set", "event", "count", "strategy", "distinct", "e", "v", "w", "gen","children","given","param_value","priors", - "g" + "g", "label", "query" )) diff --git a/R/stanmodels.R b/R/stanmodels.R index 604ae400..d4cbce08 100644 --- a/R/stanmodels.R +++ b/R/stanmodels.R @@ -21,5 +21,5 @@ stanmodels <- sapply(stanmodels, function(model_name) { model_name = stanfit$model_name, model_code = stanfit$model_code, model_cpp = stanfit$model_cpp, - mk_cppmodule = function(x) get(paste0("rstantools_model_", model_name))) + mk_cppmodule = function(x) get(paste0("model_", model_name))) }) diff --git a/man/CausalQueries.Rd b/man/CausalQueries.Rd index 0a6a2cc6..ef9934bd 100644 --- a/man/CausalQueries.Rd +++ b/man/CausalQueries.Rd @@ -1,7 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/CausalQueries-package.R -\docType{_PACKAGE} +\docType{package} \name{CausalQueries} +\alias{CausalQueries-package} \alias{CausalQueries} \title{'CausalQueries'} \description{ @@ -10,3 +11,31 @@ update over models given data, and calculate arbitrary causal queries. Model definition makes use of dagitty type syntax. Updating is implemented in 'stan'. } +\seealso{ +Useful links: +\itemize{ + \item \url{https://integrated-inferences.github.io/CausalQueries/} + \item Report bugs at \url{https://github.com/integrated-inferences/CausalQueries/issues} +} + +} +\author{ +\strong{Maintainer}: Till Tietz \email{ttietz2014@gmail.com} (\href{https://orcid.org/0000-0002-2916-9059}{ORCID}) + +Authors: +\itemize{ + \item Macartan Humphreys \email{macartan@gmail.com} (\href{https://orcid.org/0000-0001-7029-2326}{ORCID}) + \item Alan Jacobs \email{alan.jacobs@ubc.ca} + \item Lily Medina \email{lilymiru@gmail.com} (\href{https://orcid.org/0009-0004-2423-524X}{ORCID}) + \item Georgiy Syunyaev \email{georgiy.syunyaev@vanderbilt.edu} (\href{https://orcid.org/0000-0002-4391-6313}{ORCID}) +} + +Other contributors: +\itemize{ + \item Clara Bicalho \email{clarabmcorreia@gmail.com} [contributor] + \item Jasper Cooper \email{jjc2247@columbia.edu} [contributor] + \item Merlin Heidemanns \email{mnh2123@columbia.edu} [contributor] + \item Julio Solis \email{juliosolisar@gmail.com} [contributor] +} + +} diff --git a/src/Makevars.win b/src/Makevars.win index a03c2c1e..60f0bdd8 100644 --- a/src/Makevars.win +++ b/src/Makevars.win @@ -2,9 +2,8 @@ STANHEADERS_SRC = $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "message()" -e "cat(system.file('include', 'src', package = 'StanHeaders', mustWork = TRUE))" -e "message()" | grep "StanHeaders") -STANC_FLAGS = $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "cat(ifelse(utils::packageVersion('rstan') >= '2.26', '-DUSE_STANC3',''))") -PKG_CPPFLAGS = -I"../inst/include" -I"$(STANHEADERS_SRC)" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DRCPP_PARALLEL_USE_TBB=1 $(STANC_FLAGS) -D_HAS_AUTO_PTR_ETC=0 +PKG_CPPFLAGS = -I"../inst/include" -I"$(STANHEADERS_SRC)" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DRCPP_PARALLEL_USE_TBB=1 PKG_CXXFLAGS = $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "RcppParallel::CxxFlags()") $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "StanHeaders:::CxxFlags()") PKG_LIBS = $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "RcppParallel::RcppParallelLibs()") $(shell "$(R_HOME)/bin$(R_ARCH_BIN)/Rscript" -e "StanHeaders:::LdFlags()") -CXX_STD = CXX17 +CXX_STD = CXX14 diff --git a/src/stanExports_simplexes.cc b/src/stanExports_simplexes.cc index 2d746ed4..9bc14ed8 100644 --- a/src/stanExports_simplexes.cc +++ b/src/stanExports_simplexes.cc @@ -7,7 +7,7 @@ using namespace Rcpp ; RCPP_MODULE(stan_fit4simplexes_mod) { - class_ >("rstantools_model_simplexes") + class_ >("model_simplexes") .constructor() diff --git a/src/stanExports_simplexes.h b/src/stanExports_simplexes.h index b5677536..e19deba4 100644 --- a/src/stanExports_simplexes.h +++ b/src/stanExports_simplexes.h @@ -17,10 +17,10 @@ #ifndef MODELS_HPP #define MODELS_HPP #define STAN__SERVICES__COMMAND_HPP +#include #ifndef USE_STANC3 #define USE_STANC3 #endif -#include // Code generated by stanc v2.32.2 #include namespace model_simplexes_namespace { @@ -29,104 +29,104 @@ using namespace stan::math; stan::math::profile_map profiles__; static constexpr std::array locations_array__ = {" (found before start of program)", - " (in 'string', line 33, column 0 to column 47)", - " (in 'string', line 36, column 0 to column 43)", - " (in 'string', line 37, column 0 to column 41)", - " (in 'string', line 38, column 0 to column 33)", - " (in 'string', line 39, column 0 to column 33)", - " (in 'string', line 40, column 0 to column 38)", - " (in 'string', line 41, column 0 to column 35)", - " (in 'string', line 42, column 0 to column 42)", - " (in 'string', line 92, column 0 to column 22)", - " (in 'string', line 51, column 4 to line 52, column 58)", - " (in 'string', line 53, column 4 to line 55, column 20)", - " (in 'string', line 50, column 36 to line 56, column 5)", - " (in 'string', line 50, column 7 to line 56, column 5)", - " (in 'string', line 47, column 4 to column 22)", - " (in 'string', line 48, column 4 to column 29)", - " (in 'string', line 46, column 32 to line 49, column 5)", - " (in 'string', line 46, column 2 to line 56, column 5)", - " (in 'string', line 45, column 26 to line 57, column 3)", - " (in 'string', line 45, column 0 to line 57, column 3)", - " (in 'string', line 60, column 0 to column 49)", - " (in 'string', line 63, column 1 to column 66)", - " (in 'string', line 62, column 21 to line 64, column 2)", - " (in 'string', line 62, column 0 to line 64, column 2)", - " (in 'string', line 67, column 2 to column 29)", - " (in 'string', line 66, column 21 to line 68, column 2)", - " (in 'string', line 66, column 0 to line 68, column 2)", - " (in 'string', line 70, column 1 to column 14)", - " (in 'string', line 72, column 1 to column 16)", - " (in 'string', line 95, column 3 to column 48)", - " (in 'string', line 94, column 21 to line 96, column 1)", - " (in 'string', line 94, column 0 to line 96, column 1)", - " (in 'string', line 93, column 32 to line 96, column 2)", - " (in 'string', line 93, column 0 to line 96, column 2)", - " (in 'string', line 98, column 4 to column 35)", - " (in 'string', line 97, column 33 to line 99, column 2)", - " (in 'string', line 97, column 1 to line 99, column 2)", - " (in 'string', line 77, column 2 to line 78, column 43)", - " (in 'string', line 79, column 2 to column 50)", - " (in 'string', line 76, column 26 to line 80, column 2)", - " (in 'string', line 76, column 0 to line 80, column 2)", - " (in 'string', line 84, column 2 to line 87, column 55)", - " (in 'string', line 83, column 26 to line 88, column 2)", - " (in 'string', line 83, column 0 to line 88, column 2)", - " (in 'string', line 9, column 0 to column 22)", - " (in 'string', line 10, column 0 to column 21)", - " (in 'string', line 11, column 0 to column 21)", - " (in 'string', line 12, column 0 to column 26)", - " (in 'string', line 13, column 0 to column 21)", - " (in 'string', line 14, column 6 to column 18)", - " (in 'string', line 14, column 0 to column 46)", - " (in 'string', line 15, column 0 to column 20)", - " (in 'string', line 16, column 0 to column 22)", - " (in 'string', line 17, column 0 to column 26)", - " (in 'string', line 18, column 0 to column 45)", - " (in 'string', line 19, column 16 to column 24)", - " (in 'string', line 19, column 0 to column 40)", - " (in 'string', line 20, column 6 to column 18)", - " (in 'string', line 20, column 0 to column 42)", - " (in 'string', line 21, column 6 to column 18)", - " (in 'string', line 21, column 0 to column 40)", - " (in 'string', line 22, column 6 to column 13)", - " (in 'string', line 22, column 0 to column 40)", - " (in 'string', line 23, column 6 to column 13)", - " (in 'string', line 23, column 0 to column 38)", - " (in 'string', line 24, column 6 to column 18)", - " (in 'string', line 24, column 0 to column 49)", - " (in 'string', line 25, column 6 to column 18)", - " (in 'string', line 25, column 0 to column 47)", - " (in 'string', line 26, column 7 to column 15)", - " (in 'string', line 26, column 17 to column 24)", - " (in 'string', line 26, column 0 to column 28)", - " (in 'string', line 27, column 7 to column 15)", - " (in 'string', line 27, column 17 to column 24)", - " (in 'string', line 27, column 0 to column 33)", - " (in 'string', line 28, column 7 to column 14)", - " (in 'string', line 28, column 16 to column 22)", - " (in 'string', line 28, column 0 to column 28)", - " (in 'string', line 29, column 24 to column 32)", - " (in 'string', line 29, column 33 to column 39)", - " (in 'string', line 29, column 0 to column 43)", - " (in 'string', line 30, column 6 to column 14)", - " (in 'string', line 30, column 0 to column 31)", - " (in 'string', line 33, column 16 to column 39)", - " (in 'string', line 36, column 25 to column 33)", - " (in 'string', line 37, column 16 to column 28)", - " (in 'string', line 38, column 7 to column 15)", - " (in 'string', line 38, column 17 to column 24)", - " (in 'string', line 39, column 7 to column 14)", - " (in 'string', line 39, column 16 to column 23)", - " (in 'string', line 40, column 25 to column 32)", - " (in 'string', line 41, column 25 to column 31)", - " (in 'string', line 42, column 25 to column 33)", - " (in 'string', line 92, column 7 to column 14)", - " (in 'string', line 3, column 15 to column 22)", - " (in 'string', line 3, column 4 to column 27)", - " (in 'string', line 4, column 4 to column 40)", - " (in 'string', line 5, column 4 to column 14)", - " (in 'string', line 2, column 32 to line 6, column 3)"}; + " (in 'simplexes', line 33, column 0 to column 47)", + " (in 'simplexes', line 36, column 0 to column 43)", + " (in 'simplexes', line 37, column 0 to column 41)", + " (in 'simplexes', line 38, column 0 to column 33)", + " (in 'simplexes', line 39, column 0 to column 33)", + " (in 'simplexes', line 40, column 0 to column 38)", + " (in 'simplexes', line 41, column 0 to column 35)", + " (in 'simplexes', line 42, column 0 to column 42)", + " (in 'simplexes', line 92, column 0 to column 22)", + " (in 'simplexes', line 51, column 4 to line 52, column 58)", + " (in 'simplexes', line 53, column 4 to line 55, column 20)", + " (in 'simplexes', line 50, column 36 to line 56, column 5)", + " (in 'simplexes', line 50, column 7 to line 56, column 5)", + " (in 'simplexes', line 47, column 4 to column 22)", + " (in 'simplexes', line 48, column 4 to column 29)", + " (in 'simplexes', line 46, column 32 to line 49, column 5)", + " (in 'simplexes', line 46, column 2 to line 56, column 5)", + " (in 'simplexes', line 45, column 26 to line 57, column 3)", + " (in 'simplexes', line 45, column 0 to line 57, column 3)", + " (in 'simplexes', line 60, column 0 to column 49)", + " (in 'simplexes', line 63, column 1 to column 66)", + " (in 'simplexes', line 62, column 21 to line 64, column 2)", + " (in 'simplexes', line 62, column 0 to line 64, column 2)", + " (in 'simplexes', line 67, column 2 to column 29)", + " (in 'simplexes', line 66, column 21 to line 68, column 2)", + " (in 'simplexes', line 66, column 0 to line 68, column 2)", + " (in 'simplexes', line 70, column 1 to column 14)", + " (in 'simplexes', line 72, column 1 to column 16)", + " (in 'simplexes', line 95, column 3 to column 48)", + " (in 'simplexes', line 94, column 21 to line 96, column 1)", + " (in 'simplexes', line 94, column 0 to line 96, column 1)", + " (in 'simplexes', line 93, column 32 to line 96, column 2)", + " (in 'simplexes', line 93, column 0 to line 96, column 2)", + " (in 'simplexes', line 98, column 4 to column 35)", + " (in 'simplexes', line 97, column 33 to line 99, column 2)", + " (in 'simplexes', line 97, column 1 to line 99, column 2)", + " (in 'simplexes', line 77, column 2 to line 78, column 43)", + " (in 'simplexes', line 79, column 2 to column 50)", + " (in 'simplexes', line 76, column 26 to line 80, column 2)", + " (in 'simplexes', line 76, column 0 to line 80, column 2)", + " (in 'simplexes', line 84, column 2 to line 87, column 55)", + " (in 'simplexes', line 83, column 26 to line 88, column 2)", + " (in 'simplexes', line 83, column 0 to line 88, column 2)", + " (in 'simplexes', line 9, column 0 to column 22)", + " (in 'simplexes', line 10, column 0 to column 21)", + " (in 'simplexes', line 11, column 0 to column 21)", + " (in 'simplexes', line 12, column 0 to column 26)", + " (in 'simplexes', line 13, column 0 to column 21)", + " (in 'simplexes', line 14, column 6 to column 18)", + " (in 'simplexes', line 14, column 0 to column 46)", + " (in 'simplexes', line 15, column 0 to column 20)", + " (in 'simplexes', line 16, column 0 to column 22)", + " (in 'simplexes', line 17, column 0 to column 26)", + " (in 'simplexes', line 18, column 0 to column 45)", + " (in 'simplexes', line 19, column 16 to column 24)", + " (in 'simplexes', line 19, column 0 to column 40)", + " (in 'simplexes', line 20, column 6 to column 18)", + " (in 'simplexes', line 20, column 0 to column 42)", + " (in 'simplexes', line 21, column 6 to column 18)", + " (in 'simplexes', line 21, column 0 to column 40)", + " (in 'simplexes', line 22, column 6 to column 13)", + " (in 'simplexes', line 22, column 0 to column 40)", + " (in 'simplexes', line 23, column 6 to column 13)", + " (in 'simplexes', line 23, column 0 to column 38)", + " (in 'simplexes', line 24, column 6 to column 18)", + " (in 'simplexes', line 24, column 0 to column 49)", + " (in 'simplexes', line 25, column 6 to column 18)", + " (in 'simplexes', line 25, column 0 to column 47)", + " (in 'simplexes', line 26, column 7 to column 15)", + " (in 'simplexes', line 26, column 17 to column 24)", + " (in 'simplexes', line 26, column 0 to column 28)", + " (in 'simplexes', line 27, column 7 to column 15)", + " (in 'simplexes', line 27, column 17 to column 24)", + " (in 'simplexes', line 27, column 0 to column 33)", + " (in 'simplexes', line 28, column 7 to column 14)", + " (in 'simplexes', line 28, column 16 to column 22)", + " (in 'simplexes', line 28, column 0 to column 28)", + " (in 'simplexes', line 29, column 24 to column 32)", + " (in 'simplexes', line 29, column 33 to column 39)", + " (in 'simplexes', line 29, column 0 to column 43)", + " (in 'simplexes', line 30, column 6 to column 14)", + " (in 'simplexes', line 30, column 0 to column 31)", + " (in 'simplexes', line 33, column 16 to column 39)", + " (in 'simplexes', line 36, column 25 to column 33)", + " (in 'simplexes', line 37, column 16 to column 28)", + " (in 'simplexes', line 38, column 7 to column 15)", + " (in 'simplexes', line 38, column 17 to column 24)", + " (in 'simplexes', line 39, column 7 to column 14)", + " (in 'simplexes', line 39, column 16 to column 23)", + " (in 'simplexes', line 40, column 25 to column 32)", + " (in 'simplexes', line 41, column 25 to column 31)", + " (in 'simplexes', line 42, column 25 to column 33)", + " (in 'simplexes', line 92, column 7 to column 14)", + " (in 'simplexes', line 3, column 15 to column 22)", + " (in 'simplexes', line 3, column 4 to column 27)", + " (in 'simplexes', line 4, column 4 to column 40)", + " (in 'simplexes', line 5, column 4 to column 14)", + " (in 'simplexes', line 2, column 32 to line 6, column 3)"}; template , stan::is_vt_not_complex>* = nullptr> diff --git a/vignettes/c-canonical-models.Rmd b/vignettes/c-canonical-models.Rmd index 1c3cfc58..e94dc7a5 100644 --- a/vignettes/c-canonical-models.Rmd +++ b/vignettes/c-canonical-models.Rmd @@ -19,8 +19,22 @@ knitr::opts_chunk$set( ``` ```{r setup, warning = FALSE, message = FALSE} +if(!requireNamespace("estimatr", quietly = TRUE)) { + install.packages("estimatr") +} + +if(!requireNamespace("texreg", quietly = TRUE)) { + install.packages("texreg") +} + + library(CausalQueries) -options(mc.cores = parallel::detectCores()) +library(dplyr) +library(knitr) +library(estimatr) +library(texreg) + +options(mc.cores = 2) set.seed(1) ``` diff --git a/vignettes/d-front-door.Rmd b/vignettes/d-front-door.Rmd index a7a16ef5..074bd4a2 100644 --- a/vignettes/d-front-door.Rmd +++ b/vignettes/d-front-door.Rmd @@ -19,7 +19,6 @@ knitr::opts_chunk$set( ``` ```{r setup, warning = FALSE, message = FALSE} - library(CausalQueries) library(dplyr) library(knitr)