Qualtrics for Labelling Text using R.
quiltr
Qualtrics imports for labelling text using R
Installation
You can install the package with:
devtools::install_github("cjbarrie/quiltr")
To use the package, it first needs to be loaded with:
library(quiltr)
The quiltr package is designed for generating Qualtrics importable forms for data labelling, in particular text labelling.
There are two workhorse functions, which are quilt_form_data()
and quilt_form
. The first of these takes a dataset of text for labelling and structures it appropriately for writing the Qualtrics data labelling form. The second takes the data.frame
produced by quilt_form_data()
and generates a .txt file that is importable into Qualtrics.
In the package are several bundled datasets, which are useful for testing and understanding how the package functions. These are named: lipsum_text
, arabiya_text
, and qdat
.
Dataset | Description |
---|---|
lipsum_text | Dataset of (pseudo) random lipsum text generated using the stringi package |
arabiya_text | Dataset of Arabic text data sampled from https://data.mendeley.com/datasets/57zpx667y9/2 |
qdat | Dataset containing one hundred paragraphs of lipsum text with columns for text (prompt), response_type and ID as generated by quilt_form_data |
We first load one of these datasets into memory:
data(lipsum_text)
We can then call quilt_form_data()
, which takes the following arguments:
qdat <- quilt_form_data(prompt = "Label this text: ",
text = lipsum_text$text, response_type = "scale",
nlow = 1, nhigh = 10, addID = T)
The prompt
argument is optional and gives the user the ability to add a prompt before the text for labelling. The second argument is the text to be labelled. Here, we are specifying our dummy lipsum_text
data and, specifically, the column lipsum_text$text
. The response_type
parameter has several options, including "scale" for an integer scale. For this, we then need to specify an upper and lower bound with the nlow
and nhigh
parameters. The other options here are "yesno" for a binary yes or no response, and "options," which then requires the additional options
parameter.
Once we have our data in the appropriate format, we can then generate our Qualtrics importable form with quilt_form()
as follows:
quilt_form(input_data = qdat,
page_break_every = 1, question_type = "multianswer",
filename = "quilted_survey.txt")
Importing to Qualtrics
After we've generated the file in the appropriate format, we can import to Qualtrics. First we go to the survey in question, here named "import_test." We then click on tools and select the "Import/Export" > "Import survey."
Qualtrics will then prompt us to select the relevant .txt file, which we previously generated with quilt_form
. We select here "quilted_survey.txt" and press "Import." We have now successfully imported our survey into Qualtrics!
Non-Latin language support
The package works equally well with Latin languages as it does with non-Latin languages, including languages written from right-left such as Arabic. We can see this below where we use a mixture of Arabic text and English prompts.
qdat <- quilt_form_data(prompt = "Label this text: ",
text = arabiya_text$text, response_type = "scale",
nlow = 1, nhigh = 10, addID = T)
quilt_form(input_data = qdat,
page_break_every = 1, question_type = "multianswer",
filename = "quilted_survey.txt")
After importing into Qualtrics, we see that the prompt and Arabic text is correctly displayed:
Question types
There are several options for question types for text labelling tasks. The first group allow the user to select from a set of options (e.g., "Yes/No/Maybe"), and allow respondents to select either one or multiple answers depending on whether we specify e.g., "select" or "multiselect" as our question_type
argument.
The table below details the different question types, and how they are rendered in Qualtrics.
question_type | Description | Example |
---|---|---|
"dropdown" | Dropdown select box | |
"select" | Vertical list select | |
"multiselect" | Vertical list multiselect | |
"singleanswer" | Horizontal list select | |
"multianswer" | Horizontal list multiselect | |
"rankorder" | Vertical list of draggable ranked options | |
"singleline" | Single line text entry | |
"essay" | Multiline text entry |
Acknowledgments
The quiltr package has been adapted from the qualtricsRhere. This package was designed for generating bespoke surveys in a format appropriate for importing into Qualtrics but lacked support for many of the requirements of large text labelling inputs.