History Embedded in Physical Spaces - Study 5: Positive v Negative Impressions of History

Link here (private link at the time of writing this)

Hypothesis

In general, this project investigates the effect of physical proximity to places where past institutional wrongdoing occurred on people’s perceptions of temporal distance of the wrongdoing from the present and the continuity of the institution over time. Generally, when engaging with history that is not threatening (e.g., history of institutional achievement), we expect that physical and temporal proximity should be positively correlated, whereby learning about events in an institution’s history that happened in the place where a person is physically present should prompt the historical event to feel closer to the present (versus someone who is further away). However, we expect that this space-time relationship should be attenuated or diminished when the institutional history implicates institutional wrongdoing. In particular, we expect that people will feel threat when learning about past wrongdoing committed by valued (i.e., self-relevant) institutions and are physically at (versus distant from) the location of wrongdoing.

Therefore, we expect that the nature of the history described (wrongdoing/positive) and participants’ physical proximity to the location of the history (proximal vs. distal) will shape participants’ perception of the history and the deployment of defensive reactions (e.g., Peetz et al., 2010). We aim to test identification as an exploratory predictor.

In this study, we measure two key relevant perceptions of history and institutions, both of which we measure at baseline and then again after history exposure. We measure subjective temporal distance of the history and the perceived continuity/discontinuity of the institution across time (i.e., is the present institution perceived as connected to or a distinct entity from previous versions of itself).

When the institutional history that people read about is positive, we expect that participants will not engage in defensive mechanisms and will perceive the institution as more continuous and the history as closer to the present compared to baseline, particularly when learning about the history while physically proximal (vs. distant).

However, we expect that when learning about a history of institutional wrongdoing (i.e., dark/negative history), participants will be more likely to employ defensive mechanisms. That is, we expect that after learning about a history of institutional wrongdoing, people will be more likely to perceive the institution as more discontinuous over time (i.e., as a distinct entity from the historical institution that committed the wrongdoings) and to perceive the history as temporally further away from the present.

Moreover, we expect that perceived geographical distance from the history will not be as strongly related or predictive of temporal distance perceptions in the dark/negative history condition as in the positive history condition.

Given we imagine that it is important for the described institution to be self-relevant, we utilize the history of an educational institution and examine how current students at the institution perceive the history. Formally, we will employ a 2 x 2 x 2 experimental design with 2 between-participant factors (physically close V physically far; positive history V dark/wrongdoing history) and one within-participant factor (timepoint) that will allow us to examine change from baseline.  We predict a significant two-way interaction of experimental condition on change in DV. We hypothesize that participants who read a positive history piece about their institution will report greater institutional continuity and will feel this historical time period as happening closer to the present (compared to baseline). We expect that these effects will be exacerbated when they are close to (vs far from) the physical space where the positive history took place. In contrast, we predict that people who read a dark/negative history piece in the same space it occurred will perceive greater institutional discontinuity and will perceive the historical time period as more distant from the present (compared to baseline). We expect that the effect of physical proximity condition on these perceptions will be mitigated in this dark/negative history condition.

Dependent variable

Temporal distance and institutional continuity (detailed below) will be measured on a department wide “pretest” before students participate in the study, and will be measured again after participants read the manipulation materials. The other two DVs listed below will only be collected after the manipulation.

Subjective geospatial distance: Please think about the physical location of where UVA hospital was first opened. Remember, UVA hospital was where eugenics/medical research was originally practiced on Grounds. Thinking about the physical location of where UVA hospital was first opened, how far away does that feel to you? Use the slider below to indicate how far away from where UVA hospital was first opened feels to you currently. 0 = Feels very close to 100 = Feels very distant

Temporal distance (z-scored):

  1. The past may feel quite close or far away, regardless of the amount of time that has actually passed. Please think about when UVA hospital first opened. Remember, UVA hospital was where eugenics/medical research was originally practiced on Grounds. How far away in time does the opening of UVA hospital feel to you? Use the slider below to indicate how far away in time the opening of UVA hospital feels from the present. 0 = Feels very recent to 100 = Feels very distant
  2. On the below scale, please indicate how far away in time the opening of the first UVA hospital feels to you. 1 = Feels like yesterday to 100 = Feels very far away

Institutional continuity [1 = totally disagree, 7 = totally agree]: Below we list all items and plan to treat the first 9 items as an omnibus measure per previous studies (dropping items that do not hold together, if alpha >= .7), and test the defined subscales separately (if alphas >= .7).

Cultural subscale 1) The university’s founding values and worldview have endured over time. 2) The University of Virginia will always be characterized by specific traditions and beliefs 3) UVa has changed its traditions and customs throughout history - reversed

Temporal subscale 4) There is a causal link between different events in UVa history 5) Major phases in UVa history are linked to one another 6) There is no connection between past, present, and future events at the university reversed Diversity value subscale 7) The value UVa places on diverse people and ideas has been stable over time 8) The rules about who can enroll as a student are different now than when the university was founded reversed 9) Institutional messaging about who is welcome at UVa has been continuous throughout its history

Institutional continuity (exploratory subscales). We plan to test these 2 subscales separately from the prior omnibus measure of continuity (alpha/pearson’s r >= .7). These measures were only measured at Time 2.

Physical subscale 10) The physical aesthetic of UVA has remained constant over time 11) UVA’s hallmark buildings have endured over time 12) UVA has significantly changed its architecture throughout its history 13) UVA has changed the way it looks throughout history Leadership subscale 14) The people who run UVA today have a different vision for the university than people who have run UVA in the past 15) UVA leadership has largely taken the same approach to running the university throughout the university’s history

Indirect consequences measure (Ripple effect) For how many years did the original eugenics/medical research practices of UVA hospital likely have a direct or indirect impact on [Black/women/people with lower-income] residents living in Charlottesville? Scale is 1901 to 2025

Estimated actual temporal and physical distance: Temporal 1) Please think about the year UVA hospital first opened. Use the slider below to estimate how many years ago UVA hospital first opened. 0 = 0 years ago to 200 = 200 years ago

Physical distance 1) Please think about the physical location of where UVA hospital was first opened. Use the slider below to estimate how many feet away you currently are from where UVA hospital was first opened. 0 = 0 feet away to 10,000 feet away

Conditions

Four experimental conditions in a 2x2. Factor 1: Positive v dark/wrongdoing history Factor 2: Physical proximity (close v far from where described history occurred)

We also measure participants responses to key DVs pre and post the experimental manipulation as a within-participants factor.

Analyses

For the DVs where we collect pretest measures (i.e. institutional continuity and temporal distance), we will employ a pre/post analysis. We will estimate a regression model predicting the DV from two experimental factors - history condition (two levels: positive and dark/wrongdoing) and proximity (two levels: close and far). The model will include participants’ pretest scores as a covariate to adjust for baseline differences.

We will also examine whether these effects of subjective distance hold when covarying estimates of actual geographical and temporal distance (measured at Time 2), and whether the DV is predicted by two experimental predictors in a similar manner.

Outliers and Exclusions

In some cases, participants submit multiple responses to the departmental pretest. In those cases, we prioritize the submissions in the following order: 1) complete submissions, 2) earliest submission (if both/all submissions are complete) If participants complete our study but do not have complete pretest data on our two measures of interest, we will not be able to analyze their data.

Sample Size

We will collect as many participants as we can afford per 1) our psychology department’s participant pool of undergraduate students, and 2) time until the semester ends. The amount credited per researcher varies by semester per size of the pool. In the Fall of 2025, we were allotted credits to collect 400 participants. We will continue collecting participants until we reach our credit limit or until the semester ends.

Other

In exploratory analyses, we will examine other variables that we collected, including: time spent reading the manipulation, geographic distance as a moderator for the other two DVs of interest, ingroup identification as a moderator of experimental condition, physical and leadership continuity as a DV, the perceived ripple effects of the historical events that participants read about, and measures of group loyalty as a DV and moderator.

Design

show code
nice_table(data.frame(
  Conditions = c("West (Proximate)", "Gilmer (Distant)"),
  `Positive History (Medicine)` = c("Proximate–Positive", "Distant–Positive"),
  `Negative History (Eugenics)` = c("Proximate–Negative", "Distant–Negative"),
  check.names = FALSE))%>%fontsize(size=30, part='body') %>% fontsize(size=30, part='header')

Conditions

Positive History (Medicine)

Negative History (Eugenics)

West (Proximate)

Proximate–Positive

Proximate–Negative

Gilmer (Distant)

Distant–Positive

Distant–Negative

Pretest

show code
#check eligiblity: load pretest and compile averages for the UVA institutional continuity scale ("UVA History 1 - 9") and the two temporal distance measures that correspond to the opening of UVA's first hospital (temporal distance 3 and 4) so that we can check for students who completed those measures in particular
study5_eligibility = read.csv('Prescreen and Pretest data/F25 Pretest.csv') %>% 
  mutate(institutionalContinuity = rowMeans(select(.,matches("UVaHistory")), na.rm=FALSE),
         temporalDistance_hospital = rowMeans(select(.,c('temporalDistance_3', 'temporalDistance_4')), na.rm=FALSE)) %>% 
  mutate(i5_eligibility = ifelse(is.na(institutionalContinuity), 0, 
                                 ifelse(is.na(temporalDistance_hospital), 0, 1))) %>% 
  select(computID, i5_eligibility)

#load pretest data for analysis
study5_pretest = read.csv('Prescreen and Pretest Data/F25 Pretest.csv') %>% 
  mutate(across(matches(c("UVaHistory_3","UVaHistory_6","UVaHistory_8")), ~ 8 - .), #reverse code items 3, 6, 8 in historical continuity scale 
         across(matches(c("physicalContinuity_3", "physicalContinuity_4", "physicalContinuity_5")), ~ 7-.)) %>%  #reverse code items 2, 3, 5 from the physical continuity scale NOTE the design mistake in Qualtrics that resulted in a missing scale option (somewhat disagree) which reduces the scale to 1-6  
  mutate(pretest_institutionalContinuity = rowMeans(select(.,matches("UVaHistory"), matches("physicalContinuity_5"), matches('physicalContinuity_6')), na.rm=TRUE),
         pretest_institutionalContinuity_cultural = rowMeans(select(.,c('UVaHistory_1', 'UVaHistory_2', 'UVaHistory_3')), na.rm=TRUE),
         pretest_institutionalContinuity_temporal = rowMeans(select(.,c('UVaHistory_4', 'UVaHistory_5', 'UVaHistory_6')), na.rm=TRUE),
         pretest_institutionalContinuity_diversity = rowMeans(select(.,c('UVaHistory_7', 'UVaHistory_8', 'UVaHistory_9')), na.rm=TRUE),
         pretest_institutionalContinuity_leadership = rowMeans(select(.,c('physicalContinuity_5', 'physicalContinuity_6')), na.rm=TRUE),
         pretest_ingroupID = rowMeans(select(.,matches("IngroupID")), na.rm=TRUE),
         pretest_physicalContinuity = rowMeans(select(., c('physicalContinuity_1','physicalContinuity_2','physicalContinuity_3','physicalContinuity_4'))),
         pretest_temporalDistance = (as.vector(scale(temporalDistance_3)) + as.vector(scale(temporalDistance_4))/2)) 

First, potential participants responded to four measures on a departmental pretest to serve as pretest scores. These four measures were captured again when participants were taking part in the study to serve as the post-test scores, which allows us to employ a repeated-measures design for 4 DVs.

Participants were eligible to participate in Study 5 if they responded to all of the items on the following two pretest measures:

pretest_institutionalContinuity [1 = totally disagree, 7 = totally agree]

  1. The university’s founding values and worldview have endured over time.
  2. The University of Virginia will always be characterized by specific traditions and beliefs
  3. UVa has changed its traditions and customs throughout history reversed
  4. There is a causal link between different events in UVa history
  5. Major phases in UVa history are linked to one another
  6. There is no connection between past, present, and future events at the university reversed
  7. The value UVa places on diverse people and ideas has been stable over time
  8. The rules about who can enroll as a student are different now than when the university was founded reversed
  9. Institutional messaging about who is welcome at UVa has been continuous throughout its history

pretest_temporalDistance [z-scored]

  1. Think about when UVA hospital first opened (1901). How far away in time does the opening of UVA hospital feel to you? Use the slider below to indicate how far away the opening of UVa hospital feels from the present [0 - 100 pt slider]
  2. On the below scale, please indicate how far away in time the opening of UVA hospital feels to you. [likert: 1 = feels like yesterday, 7 = feels very far away]

** The following scale was also on the pretest, but was not required for eligibility: **

pretest_physicalContinuity [1 = totally disagree, 6 = totally agree]

  1. The university’s aesthetic has endured over time
  2. The University of Virginia has a hallmark buildings and aesthetic has remained constant over time
  3. UVa has changed its architecture throughout history reversed
  4. UVa has changed the way it looks throughout history reversed
  5. The people who run UVA today have a different vision for the university than people who have run UVA in the past reversed
  6. UVA leadership has largely taken the same approach to running the university throughout the university’s history

Note: items 5 and 6 from physical continuity are considered part of the institutional continuity scale: leadership subscale Note: remove the two institutional continuity items that came from the physical continuity scale

pretest_ingroupID [1 = not at all, 7 = very much]

  1. How important is UVa to your own personal identity?
  2. How similar do you feel in attitudes and opinions to other UVa students?
  3. How strongly do you identify as a UVa student?

In lab study

We tested our hypothesis using a 2x2 experimental design. We presented UVA students with an article that depicted either a positive or negative history of UVA’s first hospital, while they were either physically close to or distant from UVA’s first hospital - a building that still stands on campus.

Positive History Article (Medicine) Negative History Article (Race)

After viewing the article, participants responded to the DV and exploratory measures below.

Measures

spatialDistance [0 - 100]

  1. Please think about the physical location of where UVA hospital was first opened. Remember, UVA hospital was where ${e://Field/cond.words} was originally practiced on Grounds. Thinking about the physical location of where UVA hospital was first opened, how far away does that feel to you? Use the slider below to indicate how far away from where UVA hospital was first opened feels to you currently.

physicalContinuity [1 = totally disagree, 7 = totally agree]

  1. The physical aesthetic of UVA has remained constant over time
  2. UVA’s hallmark buildings have endured over time
  3. UVa has significantly changed its architecture throughout its history reversed
  4. UVa has changed the way it looks throughout history reversed

institutionalContinuity [1 = totally disagree, 7 = totally agree]

  1. The university’s founding values and worldview have endured over time.
  2. The University of Virginia will always be characterized by specific traditions and beliefs
  3. UVa has changed its traditions and customs throughout history reversed
  4. There is a causal link between different events in UVa history
  5. Major phases in UVa history are linked to one another
  6. There is no connection between past, present, and future events at the university reversed
  7. The value UVa places on diverse people and ideas has been stable over time
  8. The rules about who can enroll as a student are different now than when the university was founded reversed
  9. Institutional messaging about who is welcome at UVa has been continuous throughout its history
  10. The people who run UVA today have a different vision for the university than people who have run UVA in the past reversed
  11. UVA leadership has largely taken the same approach to running the university throughout the university’s history

temporalDistance [average of scaled scores]

  1. The past may feel quite close or far away, regardless of the amount of time that has actually passed. Please think about when UVA hospital first opened. Remember, UVA hospital was where ${e://Field/cond.words} was originally practiced on Grounds. How far away in time does the opening of UVA hospital feel to you? Use the slider below to indicate how far away in time the opening of UVA hospital feels from the present. [0-100]
  2. On the below scale, please indicate how far away in time the opening of UVA hospital feels to you. [1 - 7]

rippleConsequences [1901 - 2025] For how many years did the original ${e://Field/cond.words} practices of UVA hospital likely have a direct or indirect impact on the lives of [_______] residents living in Charlottesville?

  1. lower-income
  2. women
  3. black

ingroupID [1 = not at all, 7 = very much so]

  1. How important is UVa to your own personal identity?
  2. How similar do you feel in attitudes and opinions to other UVa students?
  3. How strongly do you identify as a UVa student?

ingroupUVAregard [1 = strongly disagree, 6 = strongly agree]

  1. I am proud to be a UVA student
  2. I am happy to be a UVA student
  3. I feel good about UVA
  4. I am loyal to my university
  5. I admire people who show a lot of UVA spirit
  6. It bothers me when someone criticizes our university

heardBefore [1 = yes, 2 = no, 3 = I’m not really sure]

Before reading this article, had you heard of this history before?

familiarity [1 = not at all familiar, 6 = very familiar]

Before reading this article, how familiar were you with this history?

actualDistance_temporal [0 years ago - 200 years ago]

Please think about the year UVA hospital first opened. Use the slider below to estimate how many years ago UVA hospital first opened.

actualDistance_physical [0 feet away - 10,000 feet away (2 miles/3 km)]

Please think about the physical location of where UVA hospital was first opened. Use the slider below to estimate how many feet away you currently are from where the UVA hospital first opened.

Demographics

  1. year at UVA
  2. familiarity with West complex
  3. gender
  4. ethnicity
show code
study5_raw = read.csv('study 5/study5.csv') %>% #notes: west complex = 11, gilmer = 99
  mutate(condition_location = ifelse(location ==99, "GILMER", ifelse(location ==11, "WEST", NA)),
         articleTime = coalesce(articleTimingQ19_Page.Submit, Q40_Page.Submit),
         across(c("physicalContinuity_3","physicalContinuity_4", #reverse score relevant items
                  "institutionContinuit_3", "institutionContinuit_6", "institutionContinuit_8", "institutionContinuit_10"), ~ 8 - .),
         across(c("ingroupRegard_6"), ~ 7 - .)) %>%  #reverse score relevant items
  mutate(
         physicalContinuity = rowMeans(select(.,matches("physicalContinuity")), na.rm=TRUE),
         institutionalContinuity = rowMeans(select(.,c('institutionContinuit_1', 'institutionContinuit_2', 'institutionContinuit_3', 'institutionContinuit_4', 'institutionContinuit_5', 'institutionContinuit_6', 'institutionContinuit_7', 'institutionContinuit_8', 'institutionContinuit_9')), na.rm=TRUE),
         institutionalContinuity_cultural = rowMeans(select(.,c('institutionContinuit_1', 'institutionContinuit_2', 'institutionContinuit_3')), na.rm=TRUE),
         institutionalContinuity_temporal = rowMeans(select(.,c('institutionContinuit_4', 'institutionContinuit_5', 'institutionContinuit_6')), na.rm=TRUE),
         institutionalContinuity_diversity = rowMeans(select(.,c('institutionContinuit_7', 'institutionContinuit_8', 'institutionContinuit_9')), na.rm=TRUE),
         institutionalContinuity_leadership = rowMeans(select(.,c('institutionContinuit_10', 'institutionContinuit_11')), na.rm=TRUE),
         temporalDistance = (as.vector(scale(temporalDistance_1)) + as.vector(scale(temporalDistance_2))/2),
         rippleConsequences = rowMeans(select(.,matches('rippleConsequences')), na.rm=TRUE),
         ingroupIdentification = rowMeans(select(.,matches("ingroupID")), na.rm=TRUE),
         ingroup_loyalty = rowMeans(select(.,c("ingroupRegard_4","ingroupRegard_5","ingroupRegard_6")), na.rm=TRUE),
         ingroup_regard = rowMeans(select(.,c("ingroupRegard_1","ingroupRegard_2","ingroupRegard_3")), na.rm=TRUE),
         condition_location = factor(condition_location, labels=c('Distant','Proximate')),
         condition_article = factor(condition_article, labels=c('Positive','Negative')))

study5 = merge(study5_raw %>% select(c('computID','condition_location','condition_article','articleTime','spatialDistance','rippleConsequences_lowIncome':'rippleConsequences_Black','actualDistance_temporal','actualDistance_physical','heardBefore','familiarWest','physicalContinuity':ncol(study5_raw))),
                study5_pretest %>% select(c('computID','pretest_institutionalContinuity':ncol(study5_pretest))), by='computID')

#write.csv(study5, 'study5_cleaned.csv')

#subset(study5_pretest, computID %in% c("azf8ev", "cza5rb", "ehz9zt", "hgw3bv", "hnj6wj", "jrp5wf", "kbv8hg", "kvu4hz", "kvu4hz", "paz2ru", "syx6mz", "syx6mz", "ttp4kk", "vma3ux", "xdv6gg", "xun3pu", "xzk5eu", "yry3ty", "yus9ba", "zqu7hk"))

We collected a total of 267 complete responses NOTE: There are duplicate computing IDs on the pretest that are resulting in duplicate rows in the data. Will address later

show code
nice_table(study5 %>% group_by(condition_article, condition_location)  %>%  count(), title = 'N per condition')
nice_table(study5 %>% group_by(familiarWest)  %>%  count(), title = "Participants' familiarity with the West complex")
nice_table(study5 %>% group_by(heardBefore)  %>%  count(), title = "Participants' familiarity with the history of the West Complex")

N per condition

condition_article

condition_location

n

Positive

Distant

52

Positive

Proximate

79

Negative

Distant

64

Negative

Proximate

72

Participants' familiarity with the West complex

familiarWest

n

1

203

2

42

3

13

4

7

2

Participants' familiarity with the history of the West Complex

heardBefore

n

1

80

2

163

3

22

2

Preliminary analysis

show code
ggcorrplot(round(cor(study5 %>% select(-condition_article, -condition_location, -familiarWest, -heardBefore,-computID, -articleTime), use='complete.obs'), 3),
           hc.order = TRUE, type = "upper", outline.color = "white", ggtheme = ggplot2::theme_gray, colors = c("#E46726", "white","#6D9EC1" ), lab=FALSE, digits=2)

Cronbach’s alpha of the institutional continuity measure: 0.7232929

Main analyses

Institutional continuity - mixed effects model

show code
#institutional continuity pre v post 

sutdy3_continuityPlot = study5 %>% select(condition_article, condition_location, matches('institutionalContinuity')) %>% select(1,2, 3,8) %>% rename(pre = 'pretest_institutionalContinuity', post = 'institutionalContinuity') %>% mutate(PID = 1:nrow(.)) %>% 
pivot_longer(., 3:4, names_to = "time", values_to="institutionalContinuity") %>% mutate(time = factor(time, levels=c('pre', 'post'))) %>% 
  ggerrorplot(x = 'time', y = 'institutionalContinuity', color='condition_article',  alpha=0.25, position = position_dodge(0)) +
  geom_line(alpha=0.15, aes(group = PID, color=condition_article)) +
  facet_wrap(~condition_location) +
  labs(color='History Valence',y = 'Institutional Continuity',x='')

# ggsave(sutdy3_continuityPlot, filename='SPSSI talk/study3_continuity.png', width = 6, height = 5, dpi=300)
sutdy3_continuityPlot
insitutionalCont_long = study5 %>% 
  select(computID, condition_article, condition_location, institutionalContinuity, pretest_institutionalContinuity, pretest_ingroupID) %>% 
  pivot_longer(
    cols = c(pretest_institutionalContinuity, institutionalContinuity),
    names_to = "time",
    values_to = "institutionalContinuity") %>% 
  mutate(time = case_when(
      time == "pretest_institutionalContinuity" ~ "pre",
      time == "institutionalContinuity" ~ "post"),
    time = factor(time, levels = c("pre", "post")))

nice_table(tidy(lmer(data = insitutionalCont_long, institutionalContinuity ~ time * condition_article +condition_location + (1 | computID))) %>% filter(effect=='fixed') %>% select(-effect, -group, -statistic), title='Mixed effects model: Institutional Continuity ~ Time * Article Condition + Location Condition')

Mixed effects model: Institutional Continuity ~ Time * Article Condition + Location Condition

Term

estimate

std.error

df

p

(Intercept)

3.88

0.06

345.80

< .001***

timepost

0.18

0.05

276.42

.001***

condition_articleNegative

0.06

0.07

402.63

.412

condition_locationProximate

-0.01

0.06

237.95

.871

timepost × condition_articleNegative

-0.42

0.07

276.83

< .001***

Main effects: - Reading a negative history article reduces perceived historical continuity

Interaction: - Reading a negative history article while close in proximity to the site of the history reduces perceived historical continuity much more so than reading a positive history article while in the same location.

Interpretation: People are more uncomfortable when they are close in proximity to the site of their ingroup’s dark history, which motivates perceived distance between the self and the history by attenuating perceived institutional continuity.

Temporal distance - mixed effects model

show code
#temporal distance pre v post 

study3_temporalDistanceplot = study5 %>% select(condition_article, condition_location, matches('temporalDistance'))  %>% rename(pre = 'pretest_temporalDistance', post = 'temporalDistance') %>% mutate(PID = 1:nrow(.)) %>% 
pivot_longer(., 3:4, names_to = "time", values_to="temoralDistance") %>% mutate(time = factor(time, levels=c('pre', 'post'))) %>% 
  ggerrorplot(x = 'time', y = 'temoralDistance', color='condition_article',  alpha=0.25, position = position_dodge(0)) +
  geom_line(alpha=0.15, aes(group = PID, color=condition_article)) +
  coord_cartesian(ylim=c(-1,1))+
  facet_wrap(~condition_location)+
  labs(color='History Valence',y = 'Temporal Distance',x='')

# ggsave(study3_temporalDistanceplot, filename='SPSSI talk/study3_temporalDistance.png', width = 6, height = 5, dpi=300)
study3_temporalDistanceplot
study5 = study5 %>% mutate(condition_article_flipped = factor(condition_article, levels=c('RACE', 'MEDICINE')))

temporalDistance_long = study5 %>% 
  select(computID, condition_article, condition_article_flipped, condition_location, temporalDistance, pretest_temporalDistance) %>% 
  pivot_longer(
    cols = c(pretest_temporalDistance, temporalDistance),
    names_to = "time",
    values_to = "temporalDistance") %>% 
  mutate(time = case_when(
      time == "pretest_temporalDistance" ~ "pre",
      time == "temporalDistance" ~ "post"),
    time = factor(time, levels = c("pre", "post")))

nice_table(tidy(lmer(data = temporalDistance_long, temporalDistance ~ time * condition_article * condition_location + (1 | computID))) %>% filter(effect=='fixed') %>% select(-group, -effect, -statistic), title='temporalDistance ~ time * condition_article * condition_location')

temporalDistance ~ time * condition_article * condition_location

Term

estimate

std.error

df

p

(Intercept)

0.27

0.20

418.79

.165

timepost

-0.46

0.21

268.61

.031*

condition_articleNegative

-0.50

0.27

417.02

.064

condition_locationProximate

-0.37

0.26

419.26

.153

timepost × condition_articleNegative

0.85

0.29

270.08

.004**

timepost × condition_locationProximate

0.49

0.28

271.11

.080

condition_articleNegative × condition_locationProximate

0.62

0.36

417.42

.089

timepost × condition_articleNegative × condition_locationProximate

-0.83

0.39

271.35

.034*

Physical continuity

Note: reminder to change plot to not plot pre-test scores bc differences in the scale make one option with pre- and post- test on same scale by finding common denominator or something make one option with only plotting post-test scores

show code
#institutional continuity pre v post 

study5 %>% select(condition_article, condition_location, matches('physicalContinuity')) %>% rename(pre = 'pretest_physicalContinuity', post = 'physicalContinuity') %>% mutate(PID = 1:nrow(.)) %>% 
pivot_longer(., 3:4, names_to = "time", values_to="physicalContinuity") %>% mutate(time = factor(time, levels=c('pre', 'post'))) %>% 
  ggerrorplot(x = 'time', y = 'physicalContinuity', color='condition_article',  alpha=0.25, position = position_dodge(0)) +
  geom_line(alpha=0.15, aes(group = PID, color=condition_article)) +
  facet_wrap(~condition_location)
nice_table(tidy(lm(data=study5, physicalContinuity~condition_article*condition_location+pretest_physicalContinuity)), title='physicalContinuity ~ location * article + pretest')
nice_table(tidy(lm(data=study5, physicalContinuity~condition_article*condition_location)), title='physicalContinuity ~ location * article')

physicalContinuity ~ location * article + pretest

Term

estimate

std.error

statistic

p

(Intercept)

3.70

0.29

12.64

< .001***

condition_articleNegative

0.18

0.14

1.30

.196

condition_locationProximate

0.10

0.13

0.78

.436

pretest_physicalContinuity

0.34

0.06

5.33

< .001***

condition_articleNegative × condition_locationProximate

-0.35

0.18

-1.92

.056

physicalContinuity ~ location * article

Term

estimate

std.error

statistic

p

(Intercept)

5.15

0.10

49.37

< .001***

condition_articleNegative

0.07

0.14

0.52

.600

condition_locationProximate

0.04

0.13

0.30

.761

condition_articleNegative × condition_locationProximate

-0.30

0.19

-1.60

.111

Geospatial Distance

show code
study3_physicalDistancePlot = ggerrorplot(data = study5, x = 'condition_location', y = 'spatialDistance', color='condition_article') +
  labs(color="Valence of history", x='Location', y='Spatial Distance')

#ggsave(study3_physicalDistancePlot, filename='SPSSI talk/study3_physicalDistance.png', width = 7, height = 6, dpi=300)

study3_physicalDistancePlot

show code
nice_table(tidy(lm(data=study5, spatialDistance~condition_article*condition_location)))

Term

estimate

std.error

statistic

p

(Intercept)

33.94

3.95

8.59

< .001***

condition_articleNegative

15.73

5.32

2.96

.003**

condition_locationProximate

1.74

5.09

0.34

.732

condition_articleNegative × condition_locationProximate

-15.00

7.06

-2.12

.035*

Exploratory Measures

Temporal Consequences

show code
study3_temporalConsequencesPlot = ggerrorplot(data = study5, x = 'condition_location', y = 'rippleConsequences', color='condition_article')+
  labs(y='Temporal Consequences', x= 'Location', color='History Valence')

# ggsave(study3_temporalConsequencesPlot, filename='SPSSI talk/study3_temporalConsequences.png', width = 6, height = 5, dpi=300)
study3_temporalConsequencesPlot

Actual distance

show code
study3_actualTemporalDistancePlot = ggerrorplot(data = study5, x = 'condition_location', y = 'actualDistance_temporal', color='condition_article')+
  labs(y='Actual Temporal Distance', x= 'Location', color='History Valence')

# ggsave(study3_actualTemporalDistancePlot, filename='SPSSI talk/study3_actualTemporalDistance.png', width = 6, height = 5, dpi=300)
study3_actualTemporalDistancePlot

show code
study3_actualSpatiallDistancePlot = ggerrorplot(data = study5, x = 'condition_location', y = 'actualDistance_physical', color='condition_article')+
  labs(y='Actual Spatial Distance', x= 'Location', color='History Valence')

# ggsave(study3_actualSpatiallDistancePlot, filename='SPSSI talk/study3_actualSpatiallDistance.png', width = 6, height = 5, dpi=300)
study3_actualSpatiallDistancePlot

Ingroup ID

show code
#ingroupID pre v post 

study5 %>% select(condition_article, condition_location, matches('ingroupI'))  %>% rename(pre = 'pretest_ingroupID', post = 'ingroupIdentification') %>% mutate(PID = 1:nrow(.)) %>% 
pivot_longer(., 3:4, names_to = "time", values_to="ingroupID") %>% mutate(time = factor(time, levels=c('pre', 'post'))) %>% 
  ggerrorplot(x = 'time', y = 'ingroupID', color='condition_article',  alpha=0.25, position = position_dodge(0)) +
  geom_line(alpha=0.15, aes(group = PID, color=condition_article)) +
  facet_wrap(~condition_location)
nice_table(tidy(lm(data=study5, ingroupIdentification~condition_article*condition_location+pretest_ingroupID)), title='ingroupIdentification ~ location * article + pretest')
nice_table(tidy(lm(data=subset(study5, condition_article=="Positive"), ingroupIdentification~condition_location+pretest_ingroupID)), title='for only those in positive condition: ingroupIdentification ~ location + pretest')
nice_table(tidy(lm(data=study5, ingroupIdentification~condition_article+pretest_ingroupID)), title='ingroupIdentification ~ condition_article + pretest')

ingroupIdentification ~ location * article + pretest

Term

estimate

std.error

statistic

p

(Intercept)

1.67

0.22

7.47

< .001***

condition_articleNegative

0.02

0.13

0.18

.860

condition_locationProximate

0.14

0.12

1.16

.246

pretest_ingroupID

0.69

0.04

15.94

< .001***

condition_articleNegative × condition_locationProximate

-0.25

0.17

-1.46

.145

for only those in positive condition: ingroupIdentification ~ location + pretest

Term

estimate

std.error

statistic

p

(Intercept)

1.79

0.29

6.17

< .001***

condition_locationProximate

0.14

0.12

1.25

.214

pretest_ingroupID

0.67

0.06

11.36

< .001***

ingroupIdentification ~ condition_article + pretest

Term

estimate

std.error

statistic

p

(Intercept)

1.72

0.21

8.03

< .001***

condition_articleNegative

-0.12

0.08

-1.37

.171

pretest_ingroupID

0.70

0.04

16.23

< .001***

NEw results with fixed ingroup ID issue. Now aligns better with previous study

Ingroup ID x Temporal distance

show code
ggplot(data=study5, aes(x = pretest_ingroupID, y=temporalDistance, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')+
  facet_wrap(~condition_location)
nice_table(tidy(lm(data=study5, temporalDistance~pretest_ingroupID*condition_article*condition_location)), title='temporalDistance ~ ingroupIdentification *location * article')

temporalDistance ~ ingroupIdentification *location * article

Term

estimate

std.error

statistic

p

(Intercept)

-1.29

0.98

-1.33

.186

pretest_ingroupID

0.23

0.20

1.12

.265

condition_articleNegative

0.54

1.42

0.38

.703

condition_locationProximate

0.08

1.32

0.06

.951

pretest_ingroupID × condition_articleNegative

-0.04

0.28

-0.14

.889

pretest_ingroupID × condition_locationProximate

0.01

0.27

0.04

.965

condition_articleNegative × condition_locationProximate

1.57

1.88

0.83

.406

pretest_ingroupID × condition_articleNegative × condition_locationProximate

-0.38

0.38

-0.99

.325

Ingroup ID x Insitutional continuity

show code
ggplot(data=study5, aes(x = pretest_ingroupID, y=institutionalContinuity, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')+
  facet_wrap(~condition_location)

show code
nice_table(tidy(lm(data=study5, institutionalContinuity~pretest_ingroupID*condition_article*condition_location)), title='institutionalContinuity ~ingroupIdentification * location * article')

institutionalContinuity ~ingroupIdentification * location * article

Term

estimate

std.error

statistic

p

(Intercept)

4.04

0.38

10.56

< .001***

pretest_ingroupID

-0.02

0.08

-0.24

.808

condition_articleNegative

0.47

0.55

0.85

.396

condition_locationProximate

-0.26

0.52

-0.50

.615

pretest_ingroupID × condition_articleNegative

-0.11

0.11

-1.01

.314

pretest_ingroupID × condition_locationProximate

0.09

0.11

0.84

.404

condition_articleNegative × condition_locationProximate

-1.13

0.74

-1.54

.126

pretest_ingroupID × condition_articleNegative × condition_locationProximate

0.14

0.15

0.91

.362

show code
nice_table(tidy(lm(data=subset(study5, condition_location=='Proximate'), institutionalContinuity~pretest_ingroupID*condition_article)), title='simple effect within only West participants: institutionalContinuity ~ingroupIdentification * article')

simple effect within only West participants: institutionalContinuity ~ingroupIdentification * article

Term

estimate

std.error

statistic

p

(Intercept)

3.78

0.36

10.63

< .001***

pretest_ingroupID

0.07

0.07

0.96

.337

condition_articleNegative

-0.66

0.50

-1.33

.186

pretest_ingroupID × condition_articleNegative

0.02

0.10

0.24

.812

Ingroup loyalty

show code
ggplot(data=study5, aes(x = ingroup_loyalty, y=temporalDistance, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')+
  facet_wrap(~condition_location)

show code
nice_table(tidy(lm(data=study5, temporalDistance~ingroup_loyalty*condition_article)), title='institutionalContinuity ~ingroup_loyalty * location * article')

institutionalContinuity ~ingroup_loyalty * location * article

Term

estimate

std.error

statistic

p

(Intercept)

-1.13

0.90

-1.26

.208

ingroup_loyalty

0.24

0.21

1.14

.257

condition_articleNegative

2.07

1.32

1.57

.118

ingroup_loyalty × condition_articleNegative

-0.43

0.31

-1.40

.162

show code
nice_table(tidy(lm(data=subset(study5, condition_location=='Proximate'), ingroup_loyalty~institutionalContinuity*condition_article)), title='simple effect within only West participants: ingroup_loyalty ~institutionalContinuity * article')

simple effect within only West participants: ingroup_loyalty ~institutionalContinuity * article

Term

estimate

std.error

statistic

p

(Intercept)

4.56

0.46

9.93

< .001***

institutionalContinuity

-0.07

0.11

-0.61

.542

condition_articleNegative

-0.71

0.63

-1.13

.259

institutionalContinuity × condition_articleNegative

0.17

0.16

1.03

.304

show code
study5 = study5 %>% 
  mutate(loyalty_split = as.factor(ifelse(ingroup_loyalty >3.9, "loyal", "not loyal")))

nice_table(tidy(lm(data=study5, temporalDistance~ingroup_loyalty*condition_article*condition_location)), title='temporalDistance ~loyalty_split * location * article')

temporalDistance ~loyalty_split * location * article

Term

estimate

std.error

statistic

p

(Intercept)

-2.94

1.39

-2.11

.036*

ingroup_loyalty

0.64

0.32

1.99

.048*

condition_articleNegative

4.31

2.00

2.15

.032*

condition_locationProximate

3.10

1.82

1.70

.090

ingroup_loyalty × condition_articleNegative

-0.91

0.46

-1.99

.047*

ingroup_loyalty × condition_locationProximate

-0.70

0.42

-1.65

.100

condition_articleNegative × condition_locationProximate

-3.69

2.69

-1.37

.172

ingroup_loyalty × condition_articleNegative × condition_locationProximate

0.80

0.62

1.28

.203

show code
ggplot(data=study5, aes(x = ingroup_loyalty, y=temporalDistance, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')+
  facet_wrap(~condition_location)

show code
ggplot(data=study5, aes(x = ingroup_loyalty, y=rippleConsequences_Black, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')

show code
ggerrorplot(data = study5, x = 'condition_article', y = 'institutionalContinuity', color='loyalty_split')

show code
ggerrorplot(data = study5, x = 'condition_article', y = 'temporalDistance', color='loyalty_split')

show code
summary(lm(data=study5, temporalDistance ~ condition_article*loyalty_split))

Call:
lm(formula = temporalDistance ~ condition_article * loyalty_split, 
    data = study5)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9618 -0.9379  0.1386  1.0068  2.8063 

Coefficients:
                                                 Estimate Std. Error t value
(Intercept)                                       -0.1081     0.1399  -0.773
condition_articleNegative                          0.1603     0.1934   0.829
loyalty_splitnot loyal                            -0.0678     0.2963  -0.229
condition_articleNegative:loyalty_splitnot loyal   0.4161     0.4336   0.960
                                                 Pr(>|t|)
(Intercept)                                         0.440
condition_articleNegative                           0.408
loyalty_splitnot loyal                              0.819
condition_articleNegative:loyalty_splitnot loyal    0.338

Residual standard error: 1.406 on 261 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.01192,   Adjusted R-squared:  0.0005625 
F-statistic:  1.05 on 3 and 261 DF,  p-value: 0.3712
show code
ggplot(data=study5, aes(x = pretest_ingroupID, y=ingroup_loyalty, color=condition_article)) +
  geom_point()+
  geom_smooth(method='lm')

show code
library(interactions)

institutionalCont_ingroupID_model_West = lm(data=subset(insitutionalCont_long, condition_location =='Proximate')|> mutate(time=as.numeric(time)), institutionalContinuity ~ time * condition_article + pretest_ingroupID)

institutionalCont_ingroupID_model_Gilmer = lm(data=subset(insitutionalCont_long, condition_location =='Distant') |> mutate(time=as.numeric(time)), institutionalContinuity ~ time * condition_article + pretest_ingroupID)

interact_plot(model = institutionalCont_ingroupID_model_West, pred = time, modx = pretest_ingroupID, mod2 = condition_article, main.title='West Complex')

show code
interact_plot(model = institutionalCont_ingroupID_model_Gilmer, pred = time, modx = pretest_ingroupID, mod2 = condition_article, main.title='Gilmer')

show code
library('emmeans')
emmeans(lm(data=subset(insitutionalCont_long, condition_location =='Proximate'), institutionalContinuity ~ time * condition_article), ~ time | condition_article)
condition_article = Positive:
 time emmean     SE  df lower.CL upper.CL
 pre    3.93 0.0667 285     3.80     4.06
 post   4.14 0.0641 285     4.01     4.26

condition_article = Negative:
 time emmean     SE  df lower.CL upper.CL
 pre    3.90 0.0692 285     3.76     4.03
 post   3.56 0.0667 285     3.43     3.69

Confidence level used: 0.95 
show code
emmeans(lm(data=subset(insitutionalCont_long, condition_location =='Distant'), institutionalContinuity ~ time * condition_article), ~ time | condition_article)
condition_article = Positive:
 time emmean     SE  df lower.CL upper.CL
 pre    3.79 0.0750 222     3.65     3.94
 post   3.95 0.0750 222     3.80     4.10

condition_article = Negative:
 time emmean     SE  df lower.CL upper.CL
 pre    3.98 0.0704 222     3.84     4.12
 post   3.81 0.0682 222     3.67     3.94

Confidence level used: 0.95 
show code
summary(institutionalCont_ingroupID_model_West)

Call:
lm(formula = institutionalContinuity ~ time * condition_article + 
    pretest_ingroupID, data = mutate(subset(insitutionalCont_long, 
    condition_location == "Proximate"), time = as.numeric(time)))

Residuals:
    Min      1Q  Median      3Q     Max 
-1.7044 -0.3502 -0.0236  0.3491  2.0141 

Coefficients:
                               Estimate Std. Error t value Pr(>|t|)    
(Intercept)                     3.31843    0.22736  14.595  < 2e-16 ***
time                            0.20436    0.09620   2.124  0.03459 *  
condition_articleNegative       0.56896    0.21780   2.612  0.00952 ** 
pretest_ingroupID               0.08017    0.03522   2.276  0.02367 *  
time:condition_articleNegative -0.55679    0.13789  -4.038 7.12e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.5588 on 258 degrees of freedom
  (39 observations deleted due to missingness)
Multiple R-squared:  0.1286,    Adjusted R-squared:  0.115 
F-statistic: 9.515 on 4 and 258 DF,  p-value: 3.436e-07

PCA and alphas of institutional continuity

PRETEST

show code
ggcorrplot(round(cor(study5_pretest |> select(2:10), use='complete.obs'), 3),
           hc.order = FALSE, type = "upper", outline.color = "white", ggtheme = ggplot2::theme_gray, colors = c("#E46726", "white","#6D9EC1" ), lab=TRUE, digits=2)

show code
psych::alpha(study5_pretest |> dplyr::select(2:10))$total[1]
Some items ( UVaHistory_4 UVaHistory_5 UVaHistory_6 ) were negatively correlated with the first principal component and 
probably should be reversed.  
To do this, run the function again with the 'check.keys=TRUE' option
 raw_alpha
 0.4363273
show code
institutionalHistory_pretest_PCA_study5 = select(study5_pretest, 2:10) %>% 
  filter(!if_any(everything(), is.na)) %>% 
  princomp(.)

institutionalHistory_pretest_PCA_study5$loadings

Loadings:
             Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
UVaHistory_1  0.267  0.443  0.419  0.271  0.327         0.612              
UVaHistory_2  0.127  0.403  0.403  0.163               -0.666 -0.435       
UVaHistory_3  0.105 -0.281  0.649        -0.171        -0.200  0.641       
UVaHistory_4         0.390 -0.269 -0.221  0.339        -0.255  0.416  0.604
UVaHistory_5         0.402 -0.141 -0.352  0.147                0.277 -0.766
UVaHistory_6 -0.321  0.214  0.297 -0.694 -0.267  0.226  0.238 -0.239  0.211
UVaHistory_7  0.591               -0.265 -0.384 -0.632        -0.124       
UVaHistory_8  0.210 -0.445  0.155 -0.398  0.699               -0.275       
UVaHistory_9  0.635        -0.174        -0.140  0.732                     

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings     1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000
Proportion Var  0.111  0.111  0.111  0.111  0.111  0.111  0.111  0.111  0.111
Cumulative Var  0.111  0.222  0.333  0.444  0.556  0.667  0.778  0.889  1.000
show code
biplot(institutionalHistory_pretest_PCA_study5, col=c('white','red'))

show code
plot(institutionalHistory_pretest_PCA_study5, type='l')

POSTTEST

show code
ggcorrplot(round(cor(study5_raw |> select(38:46), use='complete.obs'), 3),
           hc.order = FALSE, type = "upper", outline.color = "white", ggtheme = ggplot2::theme_gray, colors = c("#E46726", "white","#6D9EC1" ), lab=TRUE, digits=2)

show code
psych::alpha(study5_raw %>% select(.,matches("institutionContinuit")))$total[1]
 raw_alpha
 0.7232929
show code
institutionalHistory_posttest_PCA_study5 = select(study5_raw, 38:46) %>% 
  filter(!if_any(everything(), is.na)) %>% 
  princomp(.)

institutionalHistory_posttest_PCA_study5$loadings

Loadings:
                       Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
institutionContinuit_1  0.389  0.485         0.579  0.212  0.372  0.190  0.201
institutionContinuit_2  0.307  0.388  0.323         0.152 -0.740 -0.183 -0.102
institutionContinuit_3  0.343  0.191  0.328 -0.376 -0.633  0.154  0.350       
institutionContinuit_4         0.238 -0.564 -0.136  0.208 -0.231  0.621 -0.267
institutionContinuit_5         0.426 -0.380 -0.217               -0.546  0.337
institutionContinuit_6         0.299 -0.331 -0.228 -0.261  0.235 -0.193 -0.360
institutionContinuit_7  0.527 -0.252         0.191         0.109 -0.291 -0.639
institutionContinuit_8  0.315 -0.138  0.135 -0.600  0.619  0.317              
institutionContinuit_9  0.510 -0.409 -0.433        -0.191 -0.252         0.465
                       Comp.9
institutionContinuit_1  0.123
institutionContinuit_2  0.168
institutionContinuit_3 -0.219
institutionContinuit_4 -0.231
institutionContinuit_5 -0.457
institutionContinuit_6  0.678
institutionContinuit_7 -0.331
institutionContinuit_8  0.107
institutionContinuit_9  0.257

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings     1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000
Proportion Var  0.111  0.111  0.111  0.111  0.111  0.111  0.111  0.111  0.111
Cumulative Var  0.111  0.222  0.333  0.444  0.556  0.667  0.778  0.889  1.000
show code
biplot(institutionalHistory_posttest_PCA_study5, col=c('white','red'))

show code
plot(institutionalHistory_posttest_PCA_study5, type='l')

alphas of Institutional Continuity subscales, with subscales dropped, etc

show code
cat("PRETEST ANALYSES")
PRETEST ANALYSES
show code
cat("Pretest Full Scale")
Pretest Full Scale
show code
psych::alpha(study5_pretest %>% dplyr::select(.,matches("UVaHistory")))$total[1]
Some items ( UVaHistory_4 UVaHistory_5 UVaHistory_6 ) were negatively correlated with the first principal component and 
probably should be reversed.  
To do this, run the function again with the 'check.keys=TRUE' option
 raw_alpha
 0.4363273
show code
cat("Pretest Cultural Subscale")
Pretest Cultural Subscale
show code
psych::alpha(study5_pretest %>% dplyr::select(2,3,4))$total[1]
 raw_alpha
 0.4076839
show code
cat("Pretest Temporal Subscale")
Pretest Temporal Subscale
show code
psych::alpha(study5_pretest %>% dplyr::select(5,6,7))$total[1]
 raw_alpha
  0.497357
show code
cat("Pretest Diversity Subscale")
Pretest Diversity Subscale
show code
psych::alpha(study5_pretest %>% dplyr::select(8,9,10))$total[1]
 raw_alpha
 0.6525787
show code
cat("Pretest with reverse coded removed")
Pretest with reverse coded removed
show code
psych::alpha(study5_pretest %>% dplyr::select(2, 3, 5, 6, 8, 10))$total[1]
 raw_alpha
 0.6510199
show code
cat("POSTTEST ANALYSES")
POSTTEST ANALYSES
show code
cat("Note that this does NOT INCLUDE leadership continuity")
Note that this does NOT INCLUDE leadership continuity
show code
cat("Posttest Full Scale")
Posttest Full Scale
show code
psych::alpha(study5_raw %>% dplyr::select(38:46))$total[1]
 raw_alpha
  0.646221
show code
cat("Posttest Cultural subscale")
Posttest Cultural subscale
show code
psych::alpha(study5_raw %>% dplyr::select(38:40))$total[1]
 raw_alpha
 0.6460637
show code
cat("Posttest Temporal subscale")
Posttest Temporal subscale
show code
psych::alpha(study5_raw %>% dplyr::select(41, 42, 43))$total[1]
 raw_alpha
 0.5851972
show code
cat("Posttest Diversity subscale")
Posttest Diversity subscale
show code
psych::alpha(study5_raw %>% dplyr::select(44, 45, 46))$total[1]
 raw_alpha
 0.7114805
show code
cat("Posttest with reverse coded removed")
Posttest with reverse coded removed
show code
psych::alpha(study5_raw %>% dplyr::select(38, 39, 41, 42, 44, 46))$total[1]
 raw_alpha
 0.5670715
show code
cat("Posttest with temporal subscale removed")
Posttest with temporal subscale removed
show code
psych::alpha(study5_raw %>% dplyr::select(38, 39, 40, 44, 45,46))$total[1]
 raw_alpha
 0.7193785
show code
cat("Posttest Leadership continuity subscale")
Posttest Leadership continuity subscale
show code
psych::alpha(study5_raw %>% dplyr::select(47,48))$total[1]
 raw_alpha
 0.5832949

Alternative analyses with no pretest scales. And temporal subscale is dropped from post-test Institutional continuity

Institutional Continuity

No temporal subscale

show code
study5_raw = study5_raw %>% 
  mutate(institutionalContinuity_noTemporal = rowMeans(select(.,c('institutionContinuit_1', 'institutionContinuit_2', 'institutionContinuit_3', 'institutionContinuit_7',  'institutionContinuit_8', 'institutionContinuit_9')), na.rm=TRUE))

study5 = merge(study5 , study5_raw |> select(institutionalContinuity_noTemporal, computID), by = 'computID')

nice_table(tidy(lm(data=study5, institutionalContinuity_noTemporal ~condition_article*condition_location)), title='institutional continuity without temporal subscale ~ location * article')

institutional continuity without temporal subscale ~ location * article

Term

estimate

std.error

statistic

p

(Intercept)

3.29

0.10

31.52

< .001***

condition_articleNegative

-0.17

0.14

-1.19

.236

condition_locationProximate

0.24

0.13

1.77

.077

condition_articleNegative × condition_locationProximate

-0.54

0.19

-2.90

.004**

show code
ggerrorplot(data = study5, x = 'condition_location', y = 'institutionalContinuity_noTemporal', color='condition_article', ylim=c(1, 4))

show code
nice_table(subset(study5 ,condition_article=='Positive') |> 
  t_test(institutionalContinuity_noTemporal ~ condition_location, paired = FALSE, var.equal=TRUE) %>% mutate(p = round(p, 3)) %>% 
  inner_join(cohens_d(subset(study5 ,condition_article=='Positive'), institutionalContinuity_noTemporal~condition_location, paired=FALSE))%>%  
  select(statistic, df, p, effsize),
  title="t test: institutional continuity simple effect: distant v proximate within Positive articles")
Joining with `by = join_by(.y., group1, group2, n1, n2)`

t test: institutional continuity simple effect: distant v proximate within Positive articles

statistic

df

p

effsize

-1.68

129

.095

-0.30

show code
nice_table(subset(study5 ,condition_article=='Negative') |> 
  t_test(institutionalContinuity_noTemporal ~ condition_location, paired = FALSE, var.equal=TRUE) %>% mutate(p = round(p, 3)) %>% 
  inner_join(cohens_d(subset(study5 ,condition_article=='Negative'), institutionalContinuity_noTemporal~condition_location, paired=FALSE))%>%  
  select(statistic, df, p, effsize),
  title="t test: institutional continuity simple effect: distant v proximate within Negative articles")
Joining with `by = join_by(.y., group1, group2, n1, n2)`

t test: institutional continuity simple effect: distant v proximate within Negative articles

statistic

df

p

effsize

2.48

134

.014*

0.43

Temporal distance

show code
nice_table(tidy(lm(data=study5, temporalDistance ~condition_article*condition_location)), title='temporal distance ~ location * article')

temporal distance ~ location * article

Term

estimate

std.error

statistic

p

(Intercept)

-0.20

0.20

-1.04

.299

condition_articleNegative

0.39

0.26

1.48

.141

condition_locationProximate

0.10

0.25

0.39

.696

condition_articleNegative × condition_locationProximate

-0.23

0.35

-0.64

.521

show code
ggerrorplot(data = study5, x = 'condition_location', y = 'temporalDistance', color='condition_article', ylim=(c(-1,1)))

Physical continuity

show code
cat("Alpha of pretest physical continuity")
Alpha of pretest physical continuity
show code
psych::alpha(study5_pretest %>% dplyr::select(14:19))
Some items ( physicalContinuity_1 physicalContinuity_6 ) were negatively correlated with the first principal component and 
probably should be reversed.  
To do this, run the function again with the 'check.keys=TRUE' option

Reliability analysis   
Call: psych::alpha(x = study5_pretest %>% dplyr::select(14:19))

  raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
      0.44      0.44    0.59      0.12 0.8 0.03  3.7 0.57    0.083

    95% confidence boundaries 
         lower alpha upper
Feldt     0.39  0.44   0.5
Duhachek  0.39  0.44   0.5

 Reliability if an item is dropped:
                     raw_alpha std.alpha G6(smc) average_r  S/N alpha se var.r
physicalContinuity_1      0.45      0.43    0.53     0.133 0.77    0.030 0.062
physicalContinuity_2      0.37      0.34    0.47     0.095 0.52    0.034 0.070
physicalContinuity_3      0.36      0.37    0.48     0.105 0.59    0.035 0.054
physicalContinuity_4      0.30      0.32    0.44     0.085 0.46    0.038 0.054
physicalContinuity_5      0.42      0.43    0.57     0.129 0.74    0.032 0.082
physicalContinuity_6      0.49      0.48    0.61     0.158 0.94    0.028 0.081
                     med.r
physicalContinuity_1 0.125
physicalContinuity_2 0.022
physicalContinuity_3 0.083
physicalContinuity_4 0.083
physicalContinuity_5 0.083
physicalContinuity_6 0.125

 Item statistics 
                       n raw.r std.r r.cor r.drop mean  sd
physicalContinuity_1 736  0.41  0.46  0.34  0.127  4.4 1.0
physicalContinuity_2 736  0.54  0.59  0.51  0.283  4.6 1.0
physicalContinuity_3 734  0.58  0.56  0.50  0.285  3.6 1.2
physicalContinuity_4 732  0.65  0.62  0.59  0.378  3.6 1.2
physicalContinuity_5 735  0.51  0.48  0.29  0.191  2.7 1.2
physicalContinuity_6 735  0.38  0.38  0.15  0.061  3.0 1.1

Non missing response frequency for each item
                        1    2    3    4    5    6 miss
physicalContinuity_1 0.00 0.03 0.17 0.26 0.42 0.11 0.16
physicalContinuity_2 0.00 0.03 0.11 0.23 0.44 0.18 0.16
physicalContinuity_3 0.03 0.15 0.29 0.25 0.25 0.02 0.17
physicalContinuity_4 0.03 0.16 0.30 0.25 0.24 0.02 0.17
physicalContinuity_5 0.17 0.32 0.23 0.21 0.06 0.00 0.16
physicalContinuity_6 0.06 0.26 0.37 0.19 0.10 0.01 0.16
show code
ggcorrplot(round(cor(study5_pretest |> select(14:19), use='complete.obs'), 3),
           hc.order = FALSE, type = "upper", outline.color = "white", ggtheme = ggplot2::theme_gray, colors = c("#E46726", "white","#6D9EC1" ), lab=TRUE, digits=2)

show code
cat("Alpha of postest physical continuity")
Alpha of postest physical continuity
show code
psych::alpha(study5_raw %>% dplyr::select(34:37))

Reliability analysis   
Call: psych::alpha(x = study5_raw %>% dplyr::select(34:37))

  raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
      0.67      0.67    0.62      0.34   2 0.035  5.2 0.75     0.32

    95% confidence boundaries 
         lower alpha upper
Feldt      0.6  0.67  0.73
Duhachek   0.6  0.67  0.74

 Reliability if an item is dropped:
                     raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r
physicalContinuity_1      0.60      0.60    0.51      0.33 1.5    0.044 0.0150
physicalContinuity_2      0.63      0.64    0.55      0.37 1.8    0.040 0.0080
physicalContinuity_3      0.58      0.59    0.49      0.32 1.4    0.046 0.0042
physicalContinuity_4      0.59      0.59    0.50      0.33 1.4    0.045 0.0060
                     med.r
physicalContinuity_1  0.28
physicalContinuity_2  0.34
physicalContinuity_3  0.30
physicalContinuity_4  0.34

 Item statistics 
                       n raw.r std.r r.cor r.drop mean   sd
physicalContinuity_1 244  0.71  0.72  0.57   0.46  5.4 1.02
physicalContinuity_2 244  0.67  0.68  0.49   0.40  5.6 1.02
physicalContinuity_3 244  0.71  0.72  0.59   0.48  5.2 0.98
physicalContinuity_4 244  0.75  0.72  0.58   0.47  4.5 1.18

Non missing response frequency for each item
                        1    2    3    4    5    6    7 miss
physicalContinuity_1 0.00 0.01 0.05 0.10 0.35 0.39 0.11    0
physicalContinuity_2 0.00 0.01 0.02 0.09 0.29 0.42 0.17    0
physicalContinuity_3 0.00 0.01 0.08 0.11 0.37 0.41 0.02    0
physicalContinuity_4 0.01 0.04 0.16 0.21 0.40 0.16 0.02    0
show code
ggcorrplot(round(cor(study5_raw %>% dplyr::select(34:37), use='complete.obs'), 3),
           hc.order = FALSE, type = "upper", outline.color = "white", ggtheme = ggplot2::theme_gray, colors = c("#E46726", "white","#6D9EC1" ), lab=TRUE, digits=2)

show code
cat("Analyses without pretest")
Analyses without pretest
show code
nice_table(tidy(lm(data=study5, physicalContinuity ~condition_article*condition_location)), title='physical continuity ~ location * article')

physical continuity ~ location * article

Term

estimate

std.error

statistic

p

(Intercept)

5.15

0.11

48.44

< .001***

condition_articleNegative

0.05

0.14

0.34

.736

condition_locationProximate

-0.00

0.14

-0.03

.977

condition_articleNegative × condition_locationProximate

-0.23

0.19

-1.21

.229

show code
ggerrorplot(data = study5, x = 'condition_location', y = 'physicalContinuity', color='condition_article', ylim=(c(4,6)))

show code
t.test(physicalContinuity~condition_article, data=subset(study5, condition_location=='Proximate'), var.equal = TRUE)

    Two Sample t-test

data:  physicalContinuity by condition_article
t = 1.4306, df = 151, p-value = 0.1546
alternative hypothesis: true difference in means between group Positive and group Negative is not equal to 0
95 percent confidence interval:
 -0.06850886  0.42807676
sample estimates:
mean in group Positive mean in group Negative 
              5.145062               4.965278 
  • visualize difference score for continuity ~ ingroupID x condition x condition_place
  • visualize: pre_post on the x axis, on 4 plots: 2 location conditions X high/low ingroupID interact_plot (add moderator )

notes from lab meeting

  • ripple consequences measure might be uneven/unbalanced bc of racial implications of eugenics
  • ripple consequences are interesting
  • would be cool to be able to separate temporal consequences into the temporal distanfe factor + the magnitude of effects
  • subtract the actualDistance measure from the temporal consequences measure?

notes from 08/26

  • when people are in West, regardless of identification, you are too close to perceive discontinuity
  • when far away, people that are higher identified pursue the discontinuity strategy
  • add pretest data for Fall 25 and Spring 26
  • next time, have:
    • pretest data analysis, main findings, do meta analysis, alphas for continuity subscales for each semester
    • interact_plot for study 1 ingroup stuff
    • write up consistencies and inconsistencies across the two studies
    • if time is left, do subscale analyses. if not, at least tee up the data cleaning for it
    Before meeting :Maura will re-run pre-test data with new semesters included :Maura will gather main findings from main experiment studies and highlight points of consistency and inconsistency. :See if for study 2, if we’ve deviated far from the pre-registration or not

This meeting :Re-run the main analyses looking at the subscales of institutional continuity in the later studies.

notes from 09/04

  • do alpha analysis on the pretest scales from the samples specific to studies 1 and 2 (3 and 5)
  • come up with some options on how to proceed accordingly
    • option 1: analyzing item by item
    • option 2: dropping the discontinuity items
    • option 3: drop pretest completely
    • optioon 4: drop institutional continuity???
    • etc etc

notes from 9/16

  • do analysis item by item
  • do analyses drop temporal subscale

notes from 10/22

  • drop all pretest scales and analyze everything again
  • do the same for study 1
  • do scale analyses on physical and leadership continuity