zavala_anthony_critcher2013


https://ucsd-psych201a.github.io/critcher2013_2/quick_decisions.html
Project Check 1 link above. The responses help us understand how people perceive decision making in different moral scenarios. We have the scale from 1 to 7 and other scales form slowly or quickly for the people to look through after reading the prompt.

https://drive.google.com/file/d/182sSzaaCkCtBFzJWphGbDNWhHVsF7vaM/view


https://github.com/ucsd-psych201a/critcher2013_2/issues



Critcher2013

Introduction



I chose to replicate this project because of how it relates to my research interest

in misinformation in how people develop their beliefs in ideas from social media such as

the far right. This theory is based on the idea of how people make quick judgments based on others’ quick decisions. The idea of people reacting to misinformation quickly based on assumptions is similar to this research done in this article. I am excited to hear more about how important reaction ime is going to affect people’s judgments on others.


I would like to conduct this by doing one question similar to the one about Pamela who gives her children a man for adoption. They have this situation and have participants react to it and start to compare in which the two people makes the decision quickly or longer and based on her response. This project is about people making quick judgments based on others’ quick decisions such as in the action of selling one’s child and many other examples. This could be in a matter of seconds in a certain group of experiments to test the reactant time and difference whether it be positive or negative based on an individual’s action.


Methods



“Quickness. As a manipulation check, participants indicated

how quickly (vs. slowly) the decision was made”.


Moral character evaluation. The three moral evaluation items

had participants assess the agents’ underlying moral principles

and standards  by asking whether the agent: ’’has entirely good (vs. entirely bad) moral

principles,’’ ‘‘has good (vs. bad) moral standards,’’ and ’’deep

down has the moral principles and knowledge to do the right

thing.’’


Certainty. We included 4 items to assess each actor’s perceived decision certainty. Participants indicated ‘‘how conflicted [each] felt when making his decision’’ (reverse-scored), ‘‘how many reservations [each] had’’ (reverse-scored), whether the target ‘‘was quite certain in his decision’’ (vs. had considerable reservations), and ‘‘how far [each] was from choosing the alternate course of action.’’ The items had high internal reliability for both Justin (a 1⁄4 .89) and Nate (a 1⁄4 .81).


Emotional impulsivity. In order to ensure that decision speed

was not simply taken as a proxy for emotional impulsivity

(a feature previously shown to affect moral judgments; Pizarro,

Uhlmann, & Salovey, 2003), we assessed perceptions of the

emotionally impulsive nature of the decision with 2 items.

Participants indicated to what extent the person remained

‘‘calm and emotionally contained’’ (reverse-scored) and

‘‘became upset and acted without thinking.’’ The items

were significantly correlated (Justin: r 1⁄4 .51, p < .001; Nate:

r 1⁄4 .33, p < .001).”(Perceived Motives: “…participants rated Pamela’s motives to: “get more money” and”protect her children”.”


In Experiment 1, participants looked at two characters (Justin and Nate) who either quickly or slowly had a decision to either keep or return a found wallet. The study found that quick moral actions led to positive moral character evaluations, while quick immoral actions led to negative evaluations. The speed of the decision signaled the actor’s certainty, and certainty then changed the judgments of their character. 



Attention Check

At the end of the question we are adding a attention check to make sure participants we are pay attention

We got rid of participants who they can’t find data on in the missing data section. We used a two-way ANOVA in order to find the main effect of decision type and how fast the decision is  based on the how good the person is We used a two-way ANOVA in order to analyze the interaction effects from how fast the decision is done and the type of decision We used T-tests in order to have a comparison of how decision speed on both types of decision impacted moral character evaluation.T-tests for perceived certainty of decisions and its relationship to decision speed and perceived impulsivity.  We used a 2 (decision) x 2 (speed) ANOVA was performed to analyze the perceived motives of Pamela

Design overview

The factors that were manipulated was decision type and decision speed. There was measures of perceived motives being 4 of them which were quickness, moral character evaluation, emotional impulsivity, and certainty. The bewteen because they changed the xpirment each perarpitciant only ahd one group and one condition. The measures were not repeated. The order effect could have been one of the consequences. Their was not mention of tackling the reduction of demand characteristics. They couldn’t take into account people with similar situations in their lives to account for these potential cofounds.

We are only doing experiment 1 which we will replicate in order to analyze the situation . The people who are participating in the study are not students from a university but rather from a website. This study will be conducted through the internet causing an impact in the way the people can give a response. The environment in which it is conducted will be different as well since we are having two different ways in which people answer the questions.


Attention check

At the end of the question we are adding a attention check to make sure participants we are pay attention


Results


In order to start to get rid of missing values we need to get rid of  data with failed attention checks. This has importance because of the way the values impact the study.We need to lLook towards assessing outliers to see how much of an impact they will have and prevent any issues.. We need to make sure we have the correct data formatting in order to not get the data lost.


To prepare the dataset for analysis, we began by thoroughly cleaning the data. Entries with missing values were removed to maintain data integrity. Additionally, any responses that did not pass attention checks were excluded to ensure high data quality. Outliers were identified and assessed; if they proved to be problematic they were also removed. After these steps, we ensured the dataset was correctly formatted, providing a solid foundation for the analysis phase.

```{r echo = TRUE, message = FALSE, warning = FALSE} ### Data Preparation

Load Relevant Libraries and Functions

library(dplyr) library(tidyr) library(purrr) library(readr) library(stringr) library(jsonlite) library(magrittr)

Import data

Set the path to the folder

folder_path <- “/Users/anthonyzavala/Desktop/CSS/CSS204/critcher2013_2/data/osfstorage-archive”

List all CSV files in the folder

csv_files <- list.files(path = folder_path, pattern = “*.csv”, full.names = TRUE, recursive = TRUE)

Update combined_data by reading and combining all CSV files with subject_id column at the front

combined_data <- csv_files %>% map_dfr(~ { # Read each file data <- read_csv(.x)

# Extract the subject ID from the file name (remove directory path and ".csv" extension)
subject_id <- tools::file_path_sans_ext(basename(.x))

# Add subject_id as the first column
data %>% mutate(subject_id = subject_id, .before = 1)

})

Data exclusion / filtering

Prepare data for analysis - create columns etc..

cleaned_data <- combined_data %>% # Select relevant columns: subject ID, response time (rt), stimulus, and response select(subject_id, rt, stimulus, response) %>%

# Create a ‘condition’ column based on the stimulus text mutate(condition = case_when( str_detect(stimulus, “steal the money”) ~ “moral”, str_detect(stimulus, “pocketed the money”) ~ “immoral”, TRUE ~ NA_character_ # Default to NA if no match is found )) %>%

# Fill down missing ‘condition’ values to propagate them fill(condition, .direction = “down”) %>%

# Group by ‘subject_id’ for operations specific to each subject group_by(subject_id) %>%

# Add the attention check as a new column (extract Q0 value from the last row for each subject) mutate(attention_check = if_else( row_number() == n(), # Check if it’s the last row for the participant str_extract(response, ‘“Q0”:\d+’) %>% # Extract the “Q0” key-value pair str_extract(“\d+$”), # Extract the numeric value after “Q0” NA_character_ # Otherwise, set to NA )) %>%

# Remove the grouping after creating the attention check column ungroup

() %>%

# Convert the attention check column to numeric mutate(attention_check = as.numeric(attention_check)) %>%

# Fill down and up to propagate the attention_check value across rows fill(attention_check, .direction = “downup”) %>%

# Filter out rows where ‘response’ contains only the attention check filter(!is.na(response) & nchar(response) > 10)

Parse the response column and assign targets

split_data <- cleaned_data %>% # Parse the JSON response column into structured data mutate(response_parsed = map(response, ~ fromJSON(.) %>% as.data.frame())) %>%

# Unnest the parsed data into separate columns unnest(cols = response_parsed) %>%

# Add a ‘target’ column to indicate whether the row corresponds to Justin or Nate mutate( target = case_when( row_number() %% 2 == 1 ~ “Justin”, # Odd rows are for Justin TRUE ~ “Nate” # Even rows are for Nate ) ) # Reshape the data into long format and create the combined column long_data <- split_data %>% pivot_longer(

cols = starts_with("Q"),        # Dynamically handles columns like Q0, Q1, ..., Q10
names_to = "question",          # New column for question names (e.g., Q0, Q1)
values_to = "response_value"    # New column for response values

) %>% # Combine ‘target’ and ‘question’ into a new column named ‘question_value’ mutate(question_value = paste(target, question, sep = “_”)) %>% # Drop extra columns select(-target, -question, -response, -stimulus)

Filter so only participants who passed attention check are included (value=0)

cleaned_long_data <- long_data %>% filter(attention_check == 0)

Identify participants who pass both attention checks

valid_participants <- cleaned_long_data %>% filter( (question_value == “Justin_Q0” & response_value == 1) | # Adjusted logic for Q0 values (question_value == “Nate_Q0” & response_value == 0) ) %>% distinct(subject_id) %>% # Get unique subject IDs pull(subject_id)

Filter the data to keep only valid participants and add decision_speed column

cleaned_long_data <- cleaned_long_data %>% filter(subject_id %in% valid_participants) %>% mutate( decision_speed = ifelse( grepl(“Justin”, question_value), “quick”, ifelse(grepl(“Nate”, question_value), “slow”, NA) ) ) # Filter for relevant questions (Q1, Q2, Q3 for Justin and Nate) relevant_questions <- c(“Justin_Q1”, “Justin_Q2”, “Justin_Q3”, “Nate_Q1”, “Nate_Q2”, “Nate_Q3”)

cleaned_long_data <- cleaned_long_data %>% filter(question_value %in% relevant_questions) %>% mutate(response_value = as.numeric(response_value)) # Ensure response_value is numeric

Calculate composite scores for Justin and Nate and save them directly into cleaned_long_data

cleaned_long_data <- cleaned_long_data %>% group_by(subject_id) %>% mutate( justin_moral_score = mean(response_value[question_value %in% c(“Justin_Q1”, “Justin_Q2”, “Justin_Q3”)], na.rm = TRUE), nate_moral_score = mean(response_value[question_value %in% c(“Nate_Q1”, “Nate_Q2”, “Nate_Q3”)], na.rm = TRUE) ) %>% ungroup()

Create final dataset for two-way ANOVA

final_dataset <- cleaned_long_data %>% select(subject_id, condition, justin_moral_score, nate_moral_score) %>% distinct() %>% # Keep one row per subject_id pivot_longer( cols = c(justin_moral_score, nate_moral_score), names_to = “character”, values_to = “moral_score” ) %>% mutate( character = ifelse(character == “justin_moral_score”, “Justin”, “Nate”), # Adjust names for characters decision_speed = ifelse(character == “Justin”, “quick”, “slow”) # Assign decision speed ) %>% select(subject_id, condition, character, decision_speed, moral_score) # Reorder columns

```




Results Confirmatory analysis 

The statistical test we decided on was replicating experiment 1 which utilizes a two way ANOVA based on what the perceived morals of someone character composite confirmed through the influence of how fast the decision was T-tests . We did this in order to find a comparison of how fast the decision is on both types of decision impacting what the moral character is like T-tests.



Attention Check

At the end of the question we are adding an attention check to make sure participants are paying attention.