# please do not alter this code chunk
knitr::opts_chunk$set(echo = TRUE,
                      message = FALSE, 
                      error = TRUE)

library(tidyverse)
library(reprores)

# install the class package reprores to access built-in data
# devtools::install_github("psyteachr/reprores-v2)
# or download data from the website
# https://psyteachr.github.io/reprores/data/data.zip

Load built-in datasets

List the datasets in dplyr.


Load the built-in dataset starwars and use glimpse() to see an overview.


Convert the built-in base R mtcars dataset to a tibble (you will need to find the function for this; it isn't in the chapter), and store it in the object mt.

mt <- NULL

Import data from CSV and Excel files

Using the data directory created by reprores::getdata() (or download the zip file, read "disgust_scores.csv" into a table.

disgust <- NULL

Override the default column specifications to skip the id column.

disgust_skip <- NULL

How many rows and columns are in the disgust dataset?

disgust_rows <- NULL
disgust_cols <- NULL

Load the data in "data/stroop.csv" as stroop1 and "data/stroop.xlsx" as stroop2.

stroop1 <- NULL
stroop2 <- NULL

Use glimpse() to figure out the difference between the two data tables and fix the problem.

stroop2b <- NULL

Create a data table

Create a tibble with the columns name, age, and country of origin for 2 people you know.

people <- NULL

Create a tibble that has the structure of the table below, using the minimum typing possible. (Hint: rep()). Store it in the variable my_tbl.

ID | A | B | C --|-----|-----|--- 1 | A1 | B1 | C1
2 | A1 | B2 | C1
3 | A1 | B1 | C1
4 | A1 | B2 | C1
5 | A2 | B1 | C1
6 | A2 | B2 | C1
7 | A2 | B1 | C1
8 | A2 | B2 | C1

my_tbl <- NULL 

Understand the use the basic data types

Set the following objects to the number 1 with the indicated data type:

one_int <- NULL
one_dbl <- NULL
one_chr <- NULL

Set the objects T_log, T_chr, T_int and T_dbl to logical, character, integer and double values that will all be equal to TRUE.

T_log <- NULL
T_chr <- NULL
T_int <- NULL
T_dbl <- NULL

Check your answers with this code:

# these should all evaluate to TRUE
tests <- list(
  T_log_is_TRUE = T_log == TRUE,
  T_chr_is_TRUE = T_chr == TRUE,
  T_int_is_TRUE = T_int == TRUE,
  T_dbl_is_TRUE = T_dbl == TRUE,
  T_log_is_log = is.logical(T_log),
  T_chr_is_chr = is.character(T_chr),
  T_int_is_int = is.integer(T_int),
  T_dbl_is_dbl = is.double(T_dbl)
)

str(tests) # this shows a condensed version of the list

Understand and use the basic container types

Create a vector of the numbers 3, 6, and 9.

threes <- NULL

The built-in vector letters contains the letters of the English alphabet. Use an indexing vector of integers to extract the letters that spell 'cat'.

cat <- NULL

The function colors() returns all of the color names that R is aware of. What is the length of the vector returned by this function? (Use code to find the answer.)

col_length <- NULL

Create a named list called col_types where the name is each column in the built-in dataset table1 and the value is the column data type (e.g., "double", "character", "integer", "logical").

col_types <- NULL

Use vectorized operations

Set the object x to the integers 1 to 100. Use vectorised operations to set y to x squared. Use plot(x, y) to visualise the relationship between these two numbers.

x <- NULL
y <- NULL

Set t to the numbers 0 to 100 in increments of 0.1. Set x to the sine of t and y to the cosine of t (you will need to find the functions for sine and cosine). Plot x against y.

t <- NULL
x <- NULL
y <- NULL

The function call runif(n, min, max) will draw n numbers from a uniform distribution from min to max. If you set n to 10000, min to 0 and max to 1, this simulates the p-values that you would get from 10000 experiments where the null hypothesis is true. Create the following objects:

set.seed(8675309) # ensures you get the same random numbers each time you run this code chunk

pvals    <- NULL
is_sig   <- NULL
sig_vals <- NULL
prop_sig <- NULL


PsyTeachR/reprores-v2 documentation built on Sept. 26, 2022, 10:06 a.m.