This is the current development version of the R package ds4psy available at https://github.com/hneth/ds4psy/. [2026-05-06]
Changes since last release:
i2ds_survey data ($N=104$ participants, $119$ variables)Versions of ds4psy published on on CRAN:
Release of ds4psy (1.3.0) on CRAN adds new data and updates links to online resources. [2026-04-22]
Changes since last release:
i2ds_survey data ($N=101$ participants, $119$ variables)Change in hosting service of corresponding textbooks (from https://bookdown.org to https://connect.posit.cloud/hneth/):
Release of ds4psy (1.2.0) on CRAN adds new data and fixes some bugs. [2025-11-05]
Changes since last release:
i2ds_survey data ($N=60$ participants, $116$ variables)i2ds_survey data:
Bug fix: replace size by linewidth arguments in ggplot2 functions
Improve documentation:
i2ds_survey dataRelease of ds4psy (1.1.0) on CRAN adds functionality, provides new data, and fixes some bugs. [2025-09-13]
Changes since last release:
i2ds_survey data (36 participants/rows, 112 variables)plot_circ_points() functiongender in exp_num_dt into a binary variable (with values "female" vs. "not female")deg2rad() and rad2deg() conversion functionsRelease of ds4psy (1.0.0) on CRAN fixes some bugs, but mostly acknowledges the package's stable state. [2023-09-15]
Changes since last release:
The current development version of ds4psy is hosted at https://github.com/hneth/ds4psy/.
Release of ds4psy (0.9.0) on CRAN adds functionality, implements minor changes, and fixes some bugs. [2022-10-20]
Changes since last release:
base2dec() and dec2base() functions for converting numerals into non-decimal notations, and back.chars_to_text() and text_to_chars() functions for converting character vectors into text, and back.rseed argument to map_text_regex() and plot_chars() for reproducible results.collapse_chars() as a wrapper around paste() with a collapse argument.Release of ds4psy (0.8.0) on CRAN adds functionality, increases modularity, and fixes some bugs. [2022-04-08]
Changes since last release:
invert_rules() function (for decoding encoded messages by inverting the rules used for encoding).words_to_text() function as the inverse of text_to_words().zodiac() function (with multiple outputs formats and options for redefining date boundaries).table9 as a variant of tidyr::table2 as a 3-dimensional array (xtabs).capitalize() to also work for character vectors (i.e., setting the case of each element to upper- or lowercase).Release of ds4psy (0.7.0) on CRAN adds functionality, increases modularity, and fixes a bug in text data. [2021-05-12]
Changes since last release:
Breaking change: The function read_ascii() was split into 2\ parts (to enable independent access to their functionality):
read_ascii() version reads text (from file or user input) into a character string;map_text_coord() function converts a text string into a table of individual characters (with x/y-coordinates).Added plot_chars() for plotting characters of text and visualizing pattern matches (specified as regular expressions) by highlighting labels (color/angle) or background tiles (color). The function uses 2\ auxiliary functions:
map_text_regex() adds pattern matching options (for colors and angles) to map_text_coord().plot_charmap() plots character maps as text and tile plots (with aesthetics for labels and tiles).Added count_chars_words() for counting the frequency of both characters and words in text strings.
plot_mar argument to theme_empty()plot_text() (but see plot_chars())text_to_chars() and related functions for converting character strings (e.g., text to characters, preserving spaces)is_vector() to is_vect() as an is_vector() function is defined by the purrr packageplot_text()TrumpismsThe current development version of ds4psy is hosted at https://github.com/hneth/ds4psy/.
Release of ds4psy (0.6.0) on CRAN adds functionality, updates data, and reduces dependencies. [2021-04-08]
Changes since last release:
is_vector() to check for vectors (i.e., atomic vectors or lists)get_set() for motivating visualizationsfame and Trumpismstheme_empty()Release of ds4psy (0.5.0) on CRAN adds and revises functionality, updates data, and fixes bugs. [2020-09-01]
Changes since last release:
Additional functions for dates and times:
diff_dates() to compute temporal differences between dates (in human time units of years, months, and days)diff_times() to compute temporal differences between times (in human time units of years, ..., and seconds)diff_tz() to compute time difference based on time zone differencesdays_in_month() to obtain number of days in months for given dates (accounting for leap years)add is_equal() and num_equal() to check pairwise (near) equality of vectors
add theme_clean() as an alternative to theme_ds4psy()
is.wholenumber() to is_wholenumber()sample_date() and sample_time() to align with sample()theme_ds4psy() to provide control over colors of backgrounds, lines, and text elementsfame datanum_as_char() now also works for negative numbers.is_leap_year() (which yielded FALSE for NA inputs).\u2212 (minus sign) by - (dash) in exp_num_dt$blood_type to prevent Note on "marked UTF-8 strings".Release of ds4psy (0.4.0) on CRAN adds new functionality and fixes minor bugs. [2020-07-06]
Changes since last release:
This version adds support for processing data with dates and times:
change_tz() and change_time() functions for changing the display of calendar times ("POSIXct") to local times ("POSIXlt") in different time zones tz, and vice versa (i.e., changing actual time, but preserving time display).is_leap_year() function checks dates and times (or integers denoting years in 4-digit "%Y" format) for falling within a leap year.dt_10 and exp_num_dt support exercises on dates and times.cur_date() and cur_time() now print date/time (as string) or return a "Date"/"POSIXct" object.what_date() and what_time() gain support for adding time zones tz (but no active conversion).sample_time(): Switch default to sampling "POSIXct" objects (making "POSIXlt" optional) and allow specifying time zones tz.cur_date(), what_date(), etc.) now use Sys.Date() (i.e., an object of class "Date") rather than Sys.time() (i.e., a "POSIXct" calendar time) as default.is.wholenumber() from is.integer()\u... rather than \U... in Umlaut definitionsfruits and floweryRelease of ds4psy (0.3.0) on CRAN adds new functionality (e.g., support for processing text data, new datasets, and functions). [2020-06-15]
Changes since last release:
text_to_sentences() and text_to_words() functions for text processingcount_words() (in analogy to count_chars()) function for text processingcclass (as a named character vector) for matching character classes in regular expressionsmetachar (as a character vector) for matching meta-characters in regular expressionsUmlaut (as a named character vector) for showing and selecting German Umlaut characterscountries, fruits, and flowery phrases (as character vectors)Bushisms and Trumpisms (as character vectors)sample_char() functionREADME.Rmdcount_char() to count_chars() (to use plural form)sample_date() and sample_time() (to use singular form)text functions to text objects and functionsrandom functions to sampling functionsRelease of ds4psy (0.2.1) on CRAN is a maintenance release (to remove some dependencies, fix bugs on CRAN platforms, and add some datasets). [2020-05-06]
Changes since last release:
t_1--t_4.what_day with a simpler version that omits unit and as_integer arguments
(to avoid WARN on CRAN for r-devel-linux-x86_64-debian-clang).data$... elements from aes() in ggplot callsutils::globalVariables(...) to avoid Warning NOTE "Undefined global functions or variables"dplyr, and magrittr) from declared ImportsRelease of ds4psy (0.2.0) on CRAN adds functionality and fixes some bugs. [2020-04-20]
Changes since last release:
Changes involving new functionality include:
coin() flips and dice() throws)is.wholenumber() to test for integer values (mentioned in R oddities)plot_text() plotting functionread_ascii() and count_chars() functions for text processingcaseflip() and capitalize() functions for text processingsample_date() and sample_time())cur_date(), cur_time(), for Chapter\ 10: Time data)what_ functions for simple date and time queries (for Chapter\ 10: Time data)make_grid() for an exercise on visual illusions (Exercise\ 6 of Chapter\ 2)fame dataset to illustrate working with dates (Exercise\ 3 of Chapter\ 10)num_as_char() and num_as_ordinal() (to be used in Chapter\ 11: Functions)data.R)plot_fun.R)Initial release of ds4psy (0.1.0) on CRAN. [2019-08-10]
The initial functionality is limited, as the package is designed to support the ds4psy book:
[File NEWS.md updated on 2026-05-06.]