Replace “Your Name” with your actual name.

Instructions

Please complete this exam on your own. Include your R code, interpretations, and answers within this document.

Part 1: Types of Data and Measurement Errors

Question 1: Data Types in Psychological Research

Read Chapter 2 (Types of Data Psychologists Collect) and answer the following:

  1. Describe the key differences between nominal, ordinal, interval, and ratio data. Provide one example of each from psychological research.

Nominal are categories without any order, an example is types of flavors: vanilla, chocolate, orange. Ordinal is categories with order, but unequal spacing, an example is” strongly agree to strongly disagree. Interval is numbers with spacinf but not zero, an example is SAT scores. Ratio is values with equal spacing and zero, example is time in milliseconds.

  1. For each of the following variables, identify the appropriate level of measurement (nominal, ordinal, interval, or ratio) and explain your reasoning:
    • Scores on a depression inventory (0-63)
    • Response time in milliseconds
    • Likert scale ratings of agreement (1-7)
    • Diagnostic categories (e.g., ADHD, anxiety disorder, no diagnosis)
    • Age in years

Scores on a depression inventory: Interval. Response time in milliseconds: Ratio. Likert scale of agreement: Ordinal. Diagnostic categories: Nominal. Age in years: Ratio.

Question 2: Measurement Error

Referring to Chapter 3 (Measurement Errors in Psychological Research):

  1. Explain the difference between random and systematic error, providing an example of each in the context of a memory experiment.

Random error is unpredictable changes in measurement, example is a participant gets distracted during a memory experiment. Systematic error is a bias in measurement is a broken timer may underestimate reaction time in a memory test.

  1. How might measurement error affect the validity of a study examining the relationship between stress and academic performance? What steps could researchers take to minimize these errors?

The measurement error affects the validity of a study of the relationship between stress and academic performance because your results will be messed up, therefore leading to it being inaccurate. To minimize these errors researchers could use reliable tools, increase sample size, and repeat experiments to validate results.


Part 2: Descriptive Statistics and Basic Probability

Question 3: Descriptive Analysis

The code below creates a simulated dataset for a psychological experiment. Run the below code chunk without making any changes:

# Create a simulated dataset
set.seed(123)  # For reproducibility

# Number of participants
n <- 50

# Create the data frame
data <- data.frame(
  participant_id = 1:n,
  reaction_time = rnorm(n, mean = 300, sd = 50),
  accuracy = rnorm(n, mean = 85, sd = 10),
  gender = sample(c("Male", "Female"), n, replace = TRUE),
  condition = sample(c("Control", "Experimental"), n, replace = TRUE),
  anxiety_pre = rnorm(n, mean = 25, sd = 8),
  anxiety_post = NA  # We'll fill this in based on condition
)

# Make the experimental condition reduce anxiety more than control
data$anxiety_post <- ifelse(
  data$condition == "Experimental",
  data$anxiety_pre - rnorm(n, mean = 8, sd = 3),  # Larger reduction
  data$anxiety_pre - rnorm(n, mean = 3, sd = 2)   # Smaller reduction
)

# Ensure anxiety doesn't go below 0
data$anxiety_post <- pmax(data$anxiety_post, 0)

# Add some missing values for realism
data$reaction_time[sample(1:n, 3)] <- NA
data$accuracy[sample(1:n, 2)] <- NA

# View the first few rows of the dataset
head(data)
##   participant_id reaction_time  accuracy gender    condition anxiety_pre
## 1              1      271.9762  87.53319 Female      Control    31.30191
## 2              2      288.4911  84.71453 Female Experimental    31.15234
## 3              3      377.9354  84.57130 Female Experimental    27.65762
## 4              4      303.5254  98.68602   Male      Control    16.93299
## 5              5      306.4644  82.74229 Female      Control    24.04438
## 6              6      385.7532 100.16471 Female      Control    22.75684
##   anxiety_post
## 1     29.05312
## 2     19.21510
## 3     20.45306
## 4     13.75199
## 5     17.84736
## 6     19.93397

Now, perform the following computations*:

  1. Calculate the mean, median, standard deviation, minimum, and maximum for reaction time and accuracy, grouped by condition (hint: use the psych package).
library(psych)

# Calculate descriptive statistics for reaction_time grouped by condition
describeBy(data$reaction_time, data$condition, mat = TRUE, digits = 2)
##     item       group1 vars  n   mean    sd median trimmed   mad    min    max
## X11    1      Control    1 30 301.40 48.54 299.68  300.42 55.38 201.67 408.45
## X12    2 Experimental    1 17 295.75 38.37 288.49  295.61 43.74 215.67 377.94
##      range skew kurtosis   se
## X11 206.78 0.14    -0.66 8.86
## X12 162.27 0.00    -0.27 9.31
# Calculate descriptive statistics for accuracy grouped by condition
describeBy(data$accuracy, data$condition, mat = TRUE, digits = 2)
##     item       group1 vars  n  mean   sd median trimmed  mad   min    max range
## X11    1      Control    1 29 85.49 9.86  85.53   85.68 8.77 61.91 105.50 43.59
## X12    2 Experimental    1 19 88.06 8.20  88.32   87.76 9.86 74.28 106.87 32.59
##      skew kurtosis   se
## X11 -0.15    -0.35 1.83
## X12  0.45    -0.45 1.88
  1. Using dplyr and piping, create a new variable anxiety_change that represents the difference between pre and post anxiety scores (pre minus post). Then calculate the mean anxiety change for each condition.
library(dplyr)

# Create a new variable for anxiety change
data <- data %>%
  mutate(anxiety_change = anxiety_pre - anxiety_post)

# Calculate mean anxiety change
data %>%
  group_by(condition) %>%
  summarise(mean_anxiety_change = mean(anxiety_change, na.rm = TRUE))
## # A tibble: 2 × 2
##   condition    mean_anxiety_change
##   <chr>                      <dbl>
## 1 Control                     3.79
## 2 Experimental                8.64

The mean anxiety for the control group is 3.79. The mean anxiety for the experimental group is 8.64

Question 4: Probability Calculations

Using the concepts from Chapter 4 (Descriptive Statistics and Basic Probability in Psychological Research):

  1. If reaction times in a cognitive task are normally distributed with a mean of 350ms and a standard deviation of 75ms:
    1. What is the probability that a randomly selected participant will have a reaction time greater than 450ms?
    2. What is the probability that a participant will have a reaction time between 300ms and 400ms?
mean_rt <- 350  
sd_rt <- 75     

# (a) Probability of reaction time > 450ms
p_greater_450 <- 1 - pnorm(450, mean = mean_rt, sd = sd_rt)

# (b) Probability of reaction time between 300ms and 400ms
p_between_300_400 <- pnorm(400, mean = mean_rt, sd = sd_rt) - pnorm(300, mean = mean_rt, sd = sd_rt)


p_greater_450
## [1] 0.09121122
p_between_300_400
## [1] 0.4950149

A) The probability that a randomly selected student will have a raction time greater than 450ms is 0.09. B) the probability that a participant will have a reaction time between 300ms and 400ms is 0.49.


Part 3: Data Cleaning and Manipulation

Question 5: Data Cleaning with dplyr

Using the dataset created in Part 2, perform the following data cleaning and manipulation tasks:

  1. Remove all rows with missing values and create a new dataset called clean_data.
# Remove rows with missing values
clean_data <- na.omit(data)
  1. Create a new variable performance_category that categorizes participants based on their accuracy:
    • “High” if accuracy is greater than or equal to 90
    • “Medium” if accuracy is between 70 and 90
    • “Low” if accuracy is less than 70
# Your code here```

library(dplyr)

# Calculate the overall mean reaction time
mean_reaction_time <- mean(clean_data$reaction_time, na.rm = TRUE)

# Filter the dataset
filtered_data <- clean_data %>%
  filter(condition == "Experimental" & reaction_time < mean_reaction_time)
  1. Filter the dataset to include only participants in the Experimental condition with reaction times faster than the overall mean reaction time.
# Your code here```{r filter-participants, error = TRUE, message = FALSE, warning = FALSE}

library(dplyr)

# Calculate the overall mean reaction time
mean_reaction_time <- mean(clean_data$reaction_time, na.rm = TRUE)

# Filter the dataset
filtered_data <- clean_data %>%
  filter(condition == "Experimental" & reaction_time < mean_reaction_time)

First, I removed rows that had missing values, which created a new dataset called clean_data. Then I created a new variable called performance_category which classified participants based on their accuracy. 90 or above accuracy was high, between 70 and 90 was participants with medium accuracy and 70 was participants with low accuracy. Last I filtered the dataset to include only participants in the experimental who had a faster reaction time than the mean.


Part 4: Visualization and Correlation Analysis

Question 6: Correlation Analysis with the psych Package

Using the psych package, create a correlation plot for the simulated dataset created in Part 2. Include the following steps:

  1. Select the numeric variables from the dataset (reaction_time, accuracy, anxiety_pre, anxiety_post, and anxiety_change if you created it).
  2. Use the psych package’s corPlot() function to create a correlation plot.
  3. Interpret the resulting plot by addressing:
    • Which variables appear to be strongly correlated?
    • Are there any surprising relationships?
    • How might these correlations inform further research in psychology?
# Your code here. Hint: first, with dplyr create a new dataset that selects only the numeric variable (reaction_time, accuracy, anxiety_pre, anxiety_post, and anxiety_change if you created it).


library(dplyr)
library(psych)


numeric_data <- clean_data %>%
  select(reaction_time, accuracy, anxiety_pre, anxiety_post, anxiety_change)

# Create a correlation plot
corPlot(cor(numeric_data, use = "pairwise.complete.obs"), 
        numbers = TRUE,  # Display correlation values
        upper = FALSE,   # Show only lower triangle
        main = "Correlation Plot of Key Variables")
## Error in plot.new(): figure margins too large

There is a strong correlation between anziety_pre and anxiety_post. Another strong correlation is between anxiety_change and anxiety_pre. A suprising relationship is between reaction time and accuracy. These correlations can inform further research in psychology since anxiety negatively affects performance. Future studies can explore ways to reduce anxiety in high pressure situations.


Part 5: Reflection and Application

Question 7: Reflection

Reflect on how the statistical concepts and R techniques covered in this course apply to psychological research:

  1. Describe a specific research question in psychology that interests you. What type of data would you collect, what statistical analyses would be appropriate, and what potential measurement errors might you need to address?

  2. How has learning R for data analysis changed your understanding of psychological statistics? What do you see as the biggest advantages and challenges of using R compared to other statistical software?

1) How does social media usage affect anxiety levels in teenagers? To study this, I would collect data on daily screen time on social media as well as self reports on their anxiety levels using surveys. I would use correlation tests to see if more social media use is linked with higher anxiety. I could use regression analysis. A potential measurement error I may need to address could come from self reported data from the surveys. People may under or overestimate their anxiety levels or hours of screen time. 2) Learning R for data analysis changed my understanding of psychological statistics because I can see how useful it is for this topic. The biggest advantage of R is that is free and widely accsesible, and it has tools for visualizing collected data. The biggest challenge would be learning coding for those that are new to it.


Submission Instructions:

Ensure to knit your document to HTML format, checking that all content is correctly displayed before submission. Publish your assignment to RPubs and submit the URL to canvas.