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:

  • Neth, H. (2021). ds4psy: Data Science for Psychologists.
    Social Psychology and Decision Sciences, University of Konstanz, Germany.
    Textbook and R package (version 0.7.0, May 12, 2021).
    Retrieved from https://bookdown.org/hneth/ds4psy/.

A BibTeX entry for LaTeX users is:

@Manual{ds4psy,
  title = {ds4psy: Data Science for Psychologists},
  author = {Hansjörg Neth},
  year = {2021},
  organization = {Social Psychology and Decision Sciences, University of Konstanz},
  address = {Konstanz, Germany},
  note = {Textbook and R package (version 0.7.0, May 12, 2021)},
  url = {https://bookdown.org/hneth/ds4psy/} 
}

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.

[Updated 2021-05-12 by hn.]

Copy Link

Version

Install

install.packages('ds4psy')

Monthly Downloads

424

Version

0.7.0

License

CC BY-SA 4.0

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

May 12th, 2021

Functions in ds4psy (0.7.0)

coin

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

Data: Bushisms.
Trumpisms

Data: Trumpisms.
change_time

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

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

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

Change time zone (without changing represented time).
days_in_month

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

Data table data_t4.
Umlaut

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

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

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

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

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

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

Data import data_1.
dt_10

Data from 10 Danish people.
count_words

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

Capitalize initial characters in strings of text x.
data_t2

Data table data_t2.
data_t3

Data table data_t3.
countries

Data: Names of countries.
data_2

Data import data_2.
map_text_coord

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

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

Data table data_t1.
cur_date

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

Data import data_t1_de.
dice_2

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

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

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

Data import data_t1_tab.
is_wholenumber

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

Another function to plot some plot.
diff_times

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

Data: Names of fruits.
ds4psy.guide

Opens user guide of the ds4psy package.
diff_tz

Get the time zone difference between two times.
get_set

Get a set of x-y coordinates.
fame

Data table fame.
flowery

Data: Flowery phrases.
is_equal

Test two vectors for pairwise (near) equality.
plot_n

Plot n tiles.
is_leap_year

Is some year a so-called leap year?
map_text_regex

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

metachar provides metacharacters (as a character vector).
num_as_ordinal

Convert a number into an ordinal character sequence.
num_as_char

Convert a number into a character sequence.
posPsy_AHI_CESD

Positive Psychology: AHI CESD data.
posPsy_long

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

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

Data: 100k digits of pi.
plot_charmap

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

False Positive Psychology data.
exp_wide

Data exp_wide.
make_grid

Generate a grid of x-y coordinates.
l33t_rul35

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

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

A clean alternative theme for ggplot2.
num_equal

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

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

Outlier data.
sample_time

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

Data t_3.
transl33t

transl33t translates text into leet slang.
sample_char

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

Data t_4.
what_date

What date is it?
plot_chars

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

Data t_1.
t_2

Data t_2.
pal_n_sq

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

ds4psy default color palette.
plot_fn

A function to plot a plot.
table6

Data table6.
theme_empty

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

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

What year is it?
table7

Data table7.
posPsy_wide

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

Data table t3.
posPsy_p_info

Positive Psychology: Participant data.
what_month

What month is it?
what_time

What time is it?
t4

Data table t4.
plot_text

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

Plot n-by-n tiles.
table8

Data table8.
text_to_sentences

Split strings of text x into sentences.
text_to_chars

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

What week is it?
what_wday

What day of the week is it?
tb

Data table tb.