Skip to contents

Create a Formatted Flextable for Open-ended Text

Usage

openendedFlextable(df, header_label)

Arguments

df

Required, A tibble or data frame containing the character variable of text.

header_label

Required, label for the header of the table (can be a description of the prompt or full question text).

Value

a flextable object that is nicely formatted in BRE branding and in alphabetically order for randomization.

Examples

# Example data:
#  Training usefulness composite scale- 5 variables of that make up a scale:
# Responsible, Ethics, Standards, Practices, Morals
#  these are all on a 5-point likert scale of 1 to 5 needs to be
#  recoded to: c("Not at all useful", "Slightly useful", "Somewhat useful",
#                "Very useful", "Extremely useful")
# levels useful:
levels_useful <- c("Not at all useful", "Slightly useful", "Somewhat useful",
                   "Very useful", "Extremely useful")
# Data:
data <- dplyr::tibble(
 Responsible = sample(levels_useful, size = 100, replace = TRUE,
                       prob = c(0.1, 0.2, 0.3, 0.2, 0.1)),
 Ethics = sample(levels_useful, size = 100, replace = TRUE, prob = c(0.1, 0.2, 0.3, 0.2, 0.1)),
 Standards = sample(levels_useful, size = 100, replace = TRUE, prob = c(0.1, 0.1, 0.2, 0.3, 0.3)),
 Practices = sample(levels_useful, size = 100, replace = TRUE, prob = c(0.1, 0.1, 0.2, 0.3, 0.3)),
 Morals = sample(levels_useful, size = 100, replace = TRUE, prob = c(0.05, 0.05, 0.2, 0.3, 0.4)),
 Responsible_oe = ifelse(Responsible == "Not at all useful",
                 stringi::stri_rand_lipsum(sample(1:100)), NA_character_),
 Ethics_oe = ifelse(Ethics == "Not at all useful",
                 stringi::stri_rand_lipsum(sample(1:100)), NA_character_),
 Standards_oe = ifelse(Standards == "Not at all useful",
                 stringi::stri_rand_lipsum(sample(1:100)), NA_character_),
 Practices_oe = ifelse(Practices == "Not at all useful",
                 stringi::stri_rand_lipsum(sample(1:100)), NA_character_),
 Morals_oe = ifelse(Morals == "Not at all useful",
                 stringi::stri_rand_lipsum(sample(1:100)), NA_character_)
 ) %>% dplyr::select(dplyr::ends_with("_oe"))

# Set up character vector of text or other things like punctuation to remove from the text data:
remove_values <- c("N/A", ".", "A")

# Make a nice table after cleaning up the responses from the variable "Responsible_oe":
data %>% blackstone::openendedCleanup(., "Responsible_oe", remove_values) %>%
  openendedFlextable(., header_label = "Made up text example in a nicely formatted table")

Made up text example in a nicely formatted table

Commodo fringilla dolor pretium, amet, pellentesque eget suscipit nec fringilla
laoreet mauris, nibh lobortis tempor in. Pellentesque est ullamcorper, sed
dictum laoreet sapien in interdum eu. Sed sit nisl sed dictumst metus, libero ad
litora sociis et. Eu phasellus vestibulum eu bibendum sed purus primis. Platea
nec est commodo turpis ultricies praesent fringilla nec. Magnis at natoque augue
et! Velit urna ac. Dignissim sed maximus, eu pellentesque, habitant in libero
non luctus id. Class ac suscipit libero mauris enim lacus. Eget quisque dolor
morbi feugiat nibh ante et eleifend curabitur massa. Nulla conubia non ut libero
ut turpis malesuada donec ac.

Condimentum justo ac et eu neque justo platea. Dis varius lectus vitae blandit,
purus platea maximus imperdiet tempor tellus aliquam elementum lorem phasellus.
Sed quam et felis enim porttitor condimentum elit lacus fringilla. Netus
pulvinar sapien nisl ridiculus congue ante posuere, dictum odio maximus quam,
eu. Et penatibus tellus ullamcorper leo, augue parturient rhoncus. Donec eu duis
nec, volutpat himenaeos lectus, fames conubia cras, augue per. Augue dictum non
nullam turpis tortor amet in. Accumsan a quam eu class placerat eleifend enim,
convallis habitasse.

Est ligula duis ultrices tincidunt diam libero. Ac suspendisse malesuada
ex elit amet, sollicitudin rhoncus finibus. Interdum in cursus nibh iaculis
mattis posuere in, eu litora. Feugiat aliquam tincidunt. Lacus consequat,
consequat iaculis conubia eu enim aliquet tellus. Ac cubilia nullam praesent
in, euismod feugiat ac enim fames, et, dolor gravida. Elit felis pretium aenean
phasellus dis aliquam. Ridiculus lectus in fringilla nec rhoncus ad justo nostra
faucibus vulputate urna. Parturient netus eget blandit risus litora eros leo ut
hendrerit. Laoreet natoque sed molestie eros condimentum massa a.

Primis aliquam platea sed, sit magna adipiscing. Ut maximus et tempor bibendum
porttitor. Quis eu sed lobortis imperdiet sed fusce venenatis facilisi. Eu eu
quis nisl turpis vulputate. Finibus luctus, maecenas maximus vel. Dictum ut in
nullam in magna dolor nulla. Eu quis tincidunt sit sem pretium nec ac, curae.
Molestie commodo faucibus vestibulum eu, tortor ornare consectetur praesent
condimentum, risus ut. Arcu risus finibus et in montes pellentesque tortor justo
posuere. Varius turpis ad torquent pulvinar enim aliquam sapien et ridiculus.
Quisque tellus sem adipiscing eget nibh amet. Curabitur maximus nisl eros ac
adipiscing nullam nunc.

Tempor congue, nec commodo quisque auctor lacinia tincidunt. Tristique ante
morbi, ac, efficitur libero ad vestibulum nulla vivamus. Lobortis, malesuada
praesent quis maecenas eu, efficitur adipiscing felis. Volutpat sit lectus.
Ridiculus ipsum habitant sodales phasellus semper tincidunt. Phasellus finibus
velit primis ultrices in. Finibus maecenas iaculis euismod pharetra sociosqu,
curae sit felis ut leo turpis justo sed. Nulla, nibh cras quis aliquam dictumst.
Magna pellentesque tristique tempus porttitor. Placerat litora volutpat in
habitasse. Fusce pellentesque accumsan eu ac eleifend facilisi in est taciti
nec netus. Sapien, augue porta interdum augue eu integer ex, mauris. A senectus,
enim sed odio venenatis sit dis fames et. Amet vitae sed bibendum dictumst
convallis.

Turpis ut habitant vel porttitor, tellus. Ipsum lacus, diam sed cubilia. Mollis
purus suscipit convallis luctus nibh eu ex dictum. Ac consequat congue integer
blandit tortor vestibulum. Magnis eget nibh donec inceptos tempor dolor.
Bibendum feugiat dictumst fames ac sem placerat et quam diam. Lorem elementum
libero, eget odio iaculis tellus. Amet luctus dui, dis vulputate at lobortis.
Justo ac sed elementum montes commodo posuere eget. Id tortor, sit dui taciti!
Natoque amet, quam pellentesque dictum luctus a pellentesque, at nec nec nisi.
Lacus ultricies sed nec, orci, magna eu litora mattis sit. Vitae sed, sodales
praesent ac. Id sem risus, phasellus eros condimentum fusce augue phasellus at
libero. Facilisis lorem pellentesque tempor ad, potenti duis iaculis maximus.
Etiam quis felis nascetur mattis et.

Vitae nunc eu nam maximus in et aptent himenaeos tempor mi. Lacus nisl taciti
urna pellentesque mauris ligula hac varius, eros sed sed tempus. Mattis et sed
purus ut. Odio sed eleifend arcu fermentum, nisi eu justo et. Ac vulputate purus
vitae, ac id. Faucibus lacinia ipsum amet nisi accumsan curae. Eros habitasse
litora diam blandit, commodo semper enim, sed. Vestibulum id dictum proin ut
enim. Scelerisque lorem in primis bibendum nibh quis. Sit eu molestie lectus
nunc sed laoreet.