[](https://github.com/yhoriuchi/projoint/actions/workflows/R-CMD-check.yaml)
[](https://CRAN.R-project.org/package=projoint)
[](https://cran.r-project.org/package=projoint)
### 🛠️ *Projoint*: The One-Stop Conjoint Shop
Conjoint survey designs are spreading across the social sciences due to their unusual capacity to estimate many quantities of interest from a single randomized experiment. Projoint is general-purpose software for the design, implementation, and analysis of conjoint surveys. Its easy-to-use components include a drag-and-drop web-based application for survey design and an R package for analysis.
We created this software for our AJPS article ("Correcting Measurement Error Bias in Conjoint Survey Experiments"), which offers easier and more powerful ways of designing and analyzing conjoint experiments -- including everything from writing Qualtrics survey code for you to preparing figures for your paper or report. It also includes easy measurement error corrections, which are essential because conjoint’s tendency to mirror complicated real-world choices generates substantial measurement error and, without corrections, considerable bias.
We intend for Projoint software to be the easiest and fastest way to design, field, and analyze conjoint surveys.ⓘ Take the 6 steps below and you should be all set.
install.packages("projoint")
2. Design your survey
Online surveys are frequently written with an online software called Qualtrics. Using our web tool, called the Projoint Survey Designer, you don't need to learn how to write a survey in Qualtrics.
library(projoint)
dat <- read_Qualtrics("your_file.csv")
dat <- reshape_projoint(
.dataframe = dat,
.outcomes = c(paste0("choice", 1:8), "choice1_repeated_flipped")
)
Note: The following example illustrates a
profile_levelanalysis. This approach is common in social science and useful as an initial diagnostic, but we encourage researchers to considerchoice_levelanalysis (the default for.structure). See Choice-Level Analysis. Detailed steps of analysis appear in the step-by-step guide.
output <- projoint(out1_arranged, .structure = "profile_level")
print(output)
summary(output)
plot(output)
✨ Thank you for using projoint! ✨
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.