Learn R Programming

⚠️There's a newer version (1.0.0) of this package.Take me there.

Data Science for Psychologists (ds4psy)

Welcome to the R package ds4psy — a software companion to the book and course Data Science for Psychologists.

This R package provides datasets and functions used in the ds4psy book and course. The book and course introduce the principles and methods of data science for students of psychology and other biological or social sciences.

Installation

The current release of ds4psy is available from CRAN at https://CRAN.R-project.org/package=ds4psy:

install.packages('ds4psy')  # install ds4psy from CRAN client
library('ds4psy')           # load to use the package

The current development version of ds4psy can be installed from its GitHub repository at https://github.com/hneth/ds4psy/:

# install.packages('devtools')  # (if not installed yet)
devtools::install_github('hneth/ds4psy')
library('ds4psy')  # load to use the package

The most recent version of the ds4psy book is available at https://bookdown.org/hneth/ds4psy/.

Course Coordinates

Description

This book and course provide an introduction to data science that is tailored to the needs of students in psychology, but is also suitable for students of the humanities and other biological or social sciences. This audience typically has some knowledge of statistics, but rarely an idea how data is prepared and shaped to allow for statistical testing. By using various data types and working with many examples, we teach tools for transforming, summarizing, and visualizing data. By keeping our eyes open for the perils of misleading representations, the book fosters fundamental skills of data literacy and cultivates reproducible research practices that enable and precede any practical use of statistics.

Audience

Students of psychology and other social sciences are trained to analyze data. But the data they learn to work with (e.g., in courses on statistics and empirical research methods) is typically provided to them and structured in a (rectangular or “tidy”) format that presupposes many steps of data processing regarding the aggregation and spatial layout of variables. When beginning to collect their own data, students inevitably struggle with these pre-processing steps which — even for experienced data scientists — tend to require more time and effort than choosing and conducting statistical tests.

This course develops the foundations of data analysis that allow students to collect data from real-world sources and transform and shape such data to answer scientific and practical questions. Although there are many good introductions to data science (e.g., Grolemund & Wickham, 2017) they typically do not take into account the special needs — and often anxieties and reservations — of psychology students. As social scientists are not computer scientists, we introduce new concepts and commands without assuming a mathematical or computational background. Adopting a task-oriented perspective, we begin with a specific problem and then solve it with some combination of data collection, manipulation, and visualization.

Goals

Our main goal is to develop a set of useful skills in analyzing real-world data and conducting reproducible research. Upon completing this course, you will be able to use R to read, transform, analyze, and visualize data of various types. Many interactive exercises allow students to continuously check their understanding, practice their skills, and monitor their progress.

Requirements

This course assumes some basic familiarity with statistics and the R programming language, but enthusiastic programming novices are also welcome.

Resources

This package and the corresponding book are still being developed and are updated as new materials become available.

References

Course materials

The book and course was originally based on the following textbook:

  • Wickham, H., & Grolemund, G. (2017). R for data science: Import, tidy, transform, visualize, and model data. Sebastopol, Canada: O’Reilly Media, Inc. [Available online at https://r4ds.had.co.nz.]

Software

Please install the following open-source programs on your computer:

# Tidyverse packages: 
install.packages('tidyverse')

# Course packages: 
install.packages('ds4psy')  # datasets and functions
install.packages('unikn')   # color palettes and functions

Other resources

R manuals and books

RStudio resources

  • See also the link collections at the end of each chapter of the ds4psy book.

About

If you find these materials useful, or want to adopt or alter them for your purposes, please let me know.

Citation

To cite ds4psy in derivations and publications, please use:

A BibTeX entry for LaTeX users is:

@Manual{ds4psy,
  title = {ds4psy: Data Science for Psychologists},
  author = {Hansjörg Neth},
  year = {2022},
  organization = {Social Psychology and Decision Sciences, University of Konstanz},
  address = {Konstanz, Germany},
  note = {Textbook and R package (version 0.9.0, October 20, 2022)},
  url = {https://bookdown.org/hneth/ds4psy/},
  doi = {10.5281/zenodo.7229812}
}

The URL of the ds4psy R package is https://CRAN.R-project.org/package=ds4psy.

License

Data science for psychologists (ds4psy) by Hansjörg Neth is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


[File README.md updated on 2022-10-20.]

Copy Link

Version

Install

install.packages('ds4psy')

Monthly Downloads

459

Version

0.9.0

License

CC BY-SA 4.0

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

October 20th, 2022

Functions in ds4psy (0.9.0)

Bushisms

Data: Bushisms.
caseflip

Flip the case of characters in a string of text x.
cclass

cclass provides character classes (as a named vector).
count_chars_words

Count the frequency of characters and words in a string of text x.
collapse_chars

Collapse character inputs x into a single string.
count_words

Count the frequency of words in a string of text x.
base2dec

Convert a string of numeral digits from some base into decimal notation.
capitalize

Capitalize initial characters in strings of text x.
coin

Flip a fair coin (with 2 sides "H" and "T") n times.
Trumpisms

Data: Trumpisms.
cur_date

Current date (in yyyy-mm-dd or dd-mm-yyyy format).
dec2base

Convert an integer from decimal notation into a string of numeric digits in some base.
change_time

Change time and time zone (without changing time display).
cur_time

Current time (in hh:mm or hh:mm:ss format).
dice

Throw a fair dice (with a given number of sides) n times.
change_tz

Change time zone (without changing represented time).
data_1

Data import data_1.
data_t2

Data table data_t2.
data_t1

Data table data_t1.
base_digits

Base digits: Sequence of numeric symbols (as named vector)
chars_to_text

Combine character inputs x into a single string of text.
dice_2

Throw a questionable dice (with a given number of sides) n times.
data_t1_de

Data import data_t1_de.
ds4psy.guide

Opens user guide of the ds4psy package.
data_2

Data import data_2.
count_chars

Count the frequency of characters in a string of text x.
Umlaut

Umlaut provides German Umlaut letters (as Unicode characters).
countries

Data: Names of countries.
is_equal

Test two vectors for pairwise (near) equality.
is_leap_year

Is some year a so-called leap year?
falsePosPsy_all

False Positive Psychology data.
fame

Data table fame.
pal_n_sq

Get n-by-n dedicated colors of a color palette.
is_wholenumber

Test for whole numbers (i.e., integers).
diff_dates

Get the difference between two dates (in human units).
data_t4

Data table data_t4.
num_as_ordinal

Convert a number into an ordinal character sequence.
num_as_char

Convert a number into a character sequence.
diff_times

Get the difference between two times (in human units).
is_vect

Test for a vector (i.e., atomic vector or list).
days_in_month

How many days are in a month (of given date)?
get_set

Get a set of x-y coordinates.
data_t3

Data table data_t3.
data_t1_tab

Data import data_t1_tab.
dt_10

Data from 10 Danish people.
invert_rules

invert_rules inverts a set of encoding rules.
pal_ds4psy

ds4psy default color palette.
num_equal

Test two numeric vectors for pairwise (near) equality.
outliers

Outlier data.
plot_chars

Plot text characters (from file or user input) and match patterns.
plot_charmap

Plot a character map as a tile plot with text labels.
flowery

Data: Flowery phrases.
plot_fun

Another function to plot some plot.
pi_100k

Data: 100k digits of pi.
exp_num_dt

Data from an experiment with numeracy and date-time variables.
plot_fn

A function to plot a plot.
map_text_chars

map_text_chars maps the characters of a text string into a table (with x/y coordinates).
posPsy_AHI_CESD

Positive Psychology: AHI CESD data.
posPsy_p_info

Positive Psychology: Participant data.
plot_n

Plot n tiles.
exp_wide

Data exp_wide.
fruits

Data: Names of fruits.
posPsy_long

Positive Psychology: AHI CESD corrected data (in long format).
t3

Data table t3.
t_3

Data t_3.
sample_date

Draw a sample of n random dates (from a given range).
table7

Data table7.
map_text_coord

map_text_coord maps the characters of a text string into a table (with x/y-coordinates).
sample_time

Draw a sample of n random times (from a given range).
table6

Data table6.
read_ascii

read_ascii parses text (from file or user input) into string(s) of text.
sample_char

Draw a sample of n random characters (from given characters).
tb

Data table tb.
diff_tz

Get the time zone difference between two times.
l33t_rul35

l33t_rul35 provides rules for translating text into leet/l33t slang.
map_text_regex

Map text to character table (allowing for matching patterns).
text_to_chars

Split string(s) of text x into its characters.
what_week

What week is it?
what_year

What year is it?
t4

Data table t4.
make_grid

Generate a grid of x-y coordinates.
t_4

Data t_4.
what_date

What date is it?
t_1

Data t_1.
what_time

What time is it?
plot_tiles

Plot n-by-n tiles.
what_wday

What day of the week is it?
what_month

What month is it?
plot_text

Plot text characters (from file or user input).
t_2

Data t_2.
text_to_sentences

Split strings of text x into sentences.
metachar

metachar provides metacharacters (as a character vector).
table9

Data table9.
table8

Data table8.
zodiac

Get zodiac (corresponding to date x).
transl33t

transl33t translates text into leet slang.
text_to_words

Split string(s) of text x into words.
words_to_text

Paste or collapse words x into a text.
theme_empty

A basic and flexible plot theme (using ggplot2 and unikn).
theme_clean

A clean alternative theme for ggplot2.
posPsy_wide

Positive Psychology: All corrected data (in wide format).
theme_ds4psy

A basic and flexible plot theme (using ggplot2 and unikn).