History Embedded in Physical Spaces - Study 2 - Pretest Analyses

The purpose of this study is to examine how students of UVA conceptualize its institutional continuity between its past and present, and whether students’ racial identities predict different perceptions of its continuity.

2 measures were administered via the Psych Dept Participant Pool pretest over three semesters: Spring 2023, Fall 2023, and Spring 2024.

Ingroup Identification - UVA student

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?

Perceptions of UVa Historical Continuity

1 = totally disagree, 7 = totally agree

3 subscales:

Cultural continuity

  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

Temporal continuity

  1. There is a causal link between different events in UVa history
  2. Major phases in UVa history are linked to one another
  3. There is no connection between past, present, and future events at the university

Attitudes towards diversity

  1. The value UVa places on diverse people and ideas has been stable over time
  2. The rules about who can enroll as a student are different now than when the university was founded
  3. Institutional messaging about who is welcome at UVa has been continuous throughout its history
show code
#merge prescreen and pretest data
study2_25S = merge(read.csv('Prescreen and Pretest Data/S25 Pretest.csv') %>% select(computID:pretest_IngroupID_3) %>% rename_with(~str_remove(.x, "pretest_")),
                                        read.csv('Prescreen and Pretest Data/S25 Prescreen.csv'), 
                                        by = "computID") %>% 
  mutate(semester = 'Spring 25')

study2_24F = merge(read.csv('Prescreen and Pretest Data/F24 Pretest.csv') %>% rename_with(~str_remove(.x, "pretest_")),
                                        read.csv('Prescreen and Pretest Data/F24 Prescreen.csv'), 
                                        by = "computID") %>% 
  mutate(semester = 'Fall 24')

study2_24S = merge(read.csv('Prescreen and Pretest Data/S24 Pretest.csv'),
                                        read.csv('Prescreen and Pretest Data/S24 Prescreen.csv'), 
                                        by = "computID") %>% 
  mutate(semester = 'Spring 24')

study2_23F = merge(read.csv('Prescreen and Pretest Data/F23 Pretest.csv'),
                                        read.csv('Prescreen and Pretest Data/F23 Prescreen.csv'), 
                                        by = "computID") %>% 
  mutate(semester = 'Fall 23')

study2_23S = merge(read.csv('Prescreen and Pretest Data/S23 Pretest.csv'),
                                        read.csv('Prescreen and Pretest Data/S23 Prescreen.csv'), 
                                        by = "computID") %>% 
  mutate(semester = 'Spring 23')



study2 = bind_rows(study2_24F, study2_25S, study2_24S, study2_23F, study2_23S) %>% 
  mutate(across(matches(c("UVaHistory_3","UVaHistory_6","UVaHistory_8")), ~ 8 - .), #reverse code items 3, 6, 8 in historical continuity scale
         race = as.factor(ifelse(multieth==1, 'multi', #recode race
                            ifelse(black==1, 'black',
                              ifelse(hispanic==1, 'latinx',
                                     ifelse(asian==1, 'asian',
                                            ifelse(mideast==1, 'mideast',
                                                   ifelse(white==1, 'white', NA)))))))) %>% 
  mutate(UVAcontinuity = rowMeans(.[c(2:10)], na.rm=TRUE),
         ingroupUVA = rowMeans(.[c(11:13)], na.rm=TRUE),
         race_numeric = as.numeric(race)) %>% 
  filter(UVAcontinuity!='NaN' & ingroupUVA!= 'NaN' & !is.na(race)) %>% 
  mutate(race_2 = as.factor(ifelse(race=='white', 'white', #recode race
                            ifelse(race=='black', 'black', 
                                   ifelse(race=='latinx' | race=='mideast' | race=='asian', 'neither', NA)))),
         UVAcontinuity_cultural = rowMeans(select(.,c('UVaHistory_1', 'UVaHistory_2', 'UVaHistory_3')), na.rm=TRUE),
         UVAcontinuity_temporal = rowMeans(select(.,c('UVaHistory_4', 'UVaHistory_5', 'UVaHistory_6')), na.rm=TRUE),
         UVAcontinuity_diversity = rowMeans(select(.,c('UVaHistory_7', 'UVaHistory_8', 'UVaHistory_9')), na.rm=TRUE)) %>% 
  select(-computID,  -black) 

write.csv(study2,"study 2/study2_cleaned.csv", row.names = FALSE)

Participants

  • 3173 responses collected across the following semesters:
    • Spring 23
    • Fall 23
    • Spring 24
    • Fall 24
    • Spring 25

Race

Note that students who reported being more than one race were categorized as “multiethnic” and only appear in that group, not in any of the other racial groups they reported.

show code
nice_table(study2 %>% group_by(race) %>%  count() %>% arrange(desc(n)))

race

n

white

1,630

asian

729

multi

477

black

169

latinx

115

mideast

53

Main Results

Institutional Continuity by Race

note that multiethnic students are not included in this analyses.

Interpretation of below results: White students perceive UVA as less continuous (or, more discontinuous) across time than Black students and students that are neither Black nor White (p < .001)

show code
#this is the code to produce the plot
ggerrorplot(data=subset(study2, !is.na(race_2)), x='race_2', y='UVAcontinuity', color='race_2', ylim=c(3.5,4.55), legend='none', xlab='Race', ylab='impressions of intitutional continuity of UVA')
#this is the code to run the ANOVA
summary(lm(data=study2, UVAcontinuity~race_2))


Call:
lm(formula = UVAcontinuity ~ race_2, data = study2)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.69225 -0.34350 -0.01016  0.32317  2.86330 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)    4.11703    0.04215  97.673  < 2e-16 ***
race_2neither  0.01967    0.04595   0.428    0.669    
race_2white   -0.21797    0.04428  -4.922 9.07e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.548 on 2693 degrees of freedom
  (477 observations deleted due to missingness)
Multiple R-squared:  0.04206,   Adjusted R-squared:  0.04135 
F-statistic: 59.12 on 2 and 2693 DF,  p-value: < 2.2e-16

Institutional Continuity Subscales by Race

Interpretation of visualizations below: It looks like the effect described above ^ is driven by White students perceiving discontinuities in UVA’s attitudes about diversity specifically. See the “Purpose and DVs” tab for the items under the “attitudes towards diversity” subscale

show code
ggarrange(
ggerrorplot(data=subset(study2, !is.na(race_2)), x='race_2', y='UVAcontinuity_cultural', ylim=c(2,6)),
ggerrorplot(data=subset(study2, !is.na(race_2)), x='race_2', y='UVAcontinuity_temporal', ylim=c(2,6)),
ggerrorplot(data=subset(study2, !is.na(race_2)), x='race_2', y='UVAcontinuity_diversity', ylim=c(2,6)))

Other analyses

show code
ggerrorplot(data=study2, x='race', y='ingroupUVA')

show code
ggplot(study2, aes(x=ingroupUVA, y=UVAcontinuity))+
  geom_point()+
  stat_correlation(use_label(c("R", "P"))) +
  stat_poly_line()+
  theme_minimal()

show code
ggerrorplot(data=subset(study2, !is.na(race_2)), x='race_2', y='ingroupUVA')

show code
ggplot(subset(study2, !is.na(race_2)), aes(x=ingroupUVA, y=UVAcontinuity))+ 
  #geom_point(aes(color=race), position=position_jitter(.5), )+ 
  stat_correlation(use_label(c("R", "P"))) + 
  stat_poly_line(aes(color=race_2), se=TRUE)+ theme_minimal()

show code
ggarrange(
ggplot(subset(study2, !is.na(race_2)), aes(x=ingroupUVA, y=UVAcontinuity_cultural))+
  #geom_point(aes(color=race), position=position_jitter(.5), )+
  stat_correlation(use_label(c("R", "P"))) +
  stat_poly_line(aes(color=race_2), se=FALSE)+
  theme_minimal(),

ggplot(subset(study2, !is.na(race_2)), aes(x=ingroupUVA, y=UVAcontinuity_temporal))+
  #geom_point(aes(color=race), position=position_jitter(.5), )+
  stat_correlation(use_label(c("R", "P"))) +
  stat_poly_line(aes(color=race_2), se=FALSE)+
  theme_minimal(),

ggplot(subset(study2, !is.na(race_2)), aes(x=ingroupUVA, y=UVAcontinuity_diversity))+
  #geom_point(aes(color=race), position=position_jitter(.5), )+
  #stat_correlation(use_label(c("R", "P"))) +
  stat_poly_line(aes(color=race_2), se=FALSE)+
  theme_minimal(), common.legend = TRUE)

show code
summary(lm(data=subset(study2, !is.na(race_2)), UVAcontinuity~ingroupUVA*race_2))

Call:
lm(formula = UVAcontinuity ~ ingroupUVA * race_2, data = subset(study2, 
    !is.na(race_2)))

Residuals:
     Min       1Q   Median       3Q      Max 
-1.68536 -0.33995  0.00858  0.34983  2.59991 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.82769    0.14575  26.262   <2e-16 ***
ingroupUVA                0.06691    0.03231   2.071   0.0385 *  
race_2neither            -0.16036    0.16140  -0.994   0.3205    
race_2white              -0.28304    0.15615  -1.813   0.0700 .  
ingroupUVA:race_2neither  0.03777    0.03560   1.061   0.2887    
ingroupUVA:race_2white    0.00794    0.03429   0.232   0.8169    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.5388 on 2690 degrees of freedom
Multiple R-squared:  0.07501,   Adjusted R-squared:  0.07329 
F-statistic: 43.63 on 5 and 2690 DF,  p-value: < 2.2e-16

Factor analyses

show code
continuityPCA = select(study2, starts_with("UVaHistory")) %>% 
  filter(!if_any(everything(), is.na)) %>% 
  princomp(.)

continuityPCA$loadings

Loadings:
             Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
UVaHistory_1  0.283  0.517  0.458         0.136  0.582  0.277              
UVaHistory_2  0.153  0.513  0.307 -0.190 -0.215 -0.407 -0.548 -0.262       
UVaHistory_3  0.117 -0.196  0.444 -0.383        -0.340  0.192  0.668       
UVaHistory_4         0.350 -0.355         0.456        -0.133  0.394 -0.601
UVaHistory_5         0.356 -0.302         0.287 -0.149         0.236  0.783
UVaHistory_6 -0.257  0.279 -0.103 -0.420        -0.259  0.666 -0.371 -0.146
UVaHistory_7  0.605                0.536        -0.473  0.329              
UVaHistory_8  0.222 -0.321  0.205 -0.321  0.750        -0.126 -0.349       
UVaHistory_9  0.631        -0.476 -0.491 -0.274  0.238                     

               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(continuityPCA)

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

  • Next:

    • test simple slopes of historical continuity subscales

    • means and SEs of uva continuity subscales by race