Making decisions about research design and analysis strategies is often difficult before data is collected, because it is hard to imagine the exact form data will take. Instead, researchers typically modify analysis strategies to fit the data. fabricatr helps researchers imagine what data will look like before they collect it. Researchers can evaluate alternative analysis strategies, find the best one given how the data will look, and precommit before looking at the realized data.
To install the latest stable release of fabricatr, please ensure that you are running version 3.3 or later of R and run the following code:
To install the latest development release of fabricatr, please ensure that you are running version 3.3 or later of R and run the following code:
install.packages("fabricatr", dependencies = TRUE, repos = c("http://r.declaredesign.org", "https://cloud.r-project.org"))
Once you have installed fabricatr, you can easily import your own data or generate new data. fabricatr is designed to help you solve two key problems:
- Generating variables that look like the real thing, including Likert survey responses, treatment status, demographic variables, and variables correlated by group.
- Generating data that are structured like the real thing, including panel data, multi-level (“nested”) data or cross-classified data.
fabricatr is easy to learn and easy to read. Consider this example which generates data modeling the United States House of Representatives:
set.seed(1) library(fabricatr) house_members <- fabricate( party_id = add_level( N = 2, party_names = c("Republican", "Democrat"), party_ideology = c(0.5, -0.5), in_power = c(1, 0), party_incumbents = c(241, 194) ), rep_id = add_level( N = party_incumbents, member_ideology = rnorm(N, party_ideology, sd = 0.5), terms_served = draw_count(N = N, mean = 4), female = draw_binary(N = N, prob = 0.198) ) )
## Warning: `is_lang()` is deprecated as of rlang 0.2.0. ## Please use `is_call()` instead. ## This warning is displayed once per session.
## Warning: `lang_name()` is deprecated as of rlang 0.2.0. ## Please use `call_name()` instead. ## This warning is displayed once per session.
## Warning: `lang_modify()` is deprecated as of rlang 0.2.0. ## Please use `call_modify()` instead. ## This warning is displayed once per session.
For more information, read our online tutorial to get started with fabricatr. This tutorial will give you a brief overview of fabricatr’s main functions and direct you towards your next steps. You can also read our documentation inside R using the command
?fabricate as your entry point.