Mixed-Methods Analysis of Preferences for Community-Based Violence Prevention and Intervention Approaches

Author
Affiliation

Serena Suchdeve, Vivian Raposo, Caitlin Ngo, Kayla Vo, Rowen Smith

Published

November 14, 2025

Abstract

Violence poses a threat to the health and safety of communities in the U.S., which continues to have the highest rates of violent deaths compared to its developed counterparts. Violence contributes to mental trauma, physical harm, and behavioral issues, particularly impacting adolescents living in urban areas, individuals within low-income neighborhoods, and socially marginalized demographics. Current academic research supports the use of violence intervention programs to improve community safety. However, there is limited research on public beliefs surrounding violence prevention and community safety, creating an empirical and knowledge gap that can be evaluated through the question- Are sociodemographic variables, preventability beliefs, care-based safety conceptions, fixed mindset beliefs, or perceptions of safety most associated with support for community-based violence prevention and intervention approaches? To evaluate this question, the team created a Qualtrics survey containing both qualitative and quantitative variables. A convenient sample of approximately 200 Binghamton University students and Broome County residents, aged 18 or older, was recruited through campus and community event tabling. This mixed-methods study integrates qualitative NVivo analysis and quantitative R analysis. It was found that care-based and fear-based models of safety, as well as growth and fixed mindsets, exist. Empirical evidence displayed that growth mindsets, which were stronger among women, were a predictor for support of care-based violence intervention approaches and a lack of support for fear-based violence intervention approaches. This study enabled a better understanding of the framework needed for future violence intervention effectiveness studies, as well as further insight on how communities can achieve community safety.

Keywords

Care-Based, Fear-Based, Community Based violence prevention, Growth-mindset, Fixed-mindset, Perceived Safety

1 Results

1.1 Import

Show the code
library(readxl)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
Show the code
alldata <- read_excel("11.06.2025.data.team1.clean (1).xlsx", col_names = TRUE)

alldata[alldata == -99] <- NA
alldata[alldata == -50] <- NA

##explanation:Data collected using the surveying platform, qualtrics was exported to excel. The file was uploaded into positcloud and values -50 and -99 indicating a question was not answered were filtered out and replaced with the value NA. 
#source: The Quantitative Playbook for Public Health Research in R. (McCarty, 2025) https://shanemccarty.github.io/FRIplaybook/import-once.html

1.2 Transform

1.2.1 Select Variables for Analysis

Show the code
library(dplyr)
selectdata <- alldata %>% 
  select(AGE, FIXEDPERSON1_BASIC, FIXEDPERSON2_DIFF, FIXEDPERSON3_CHANGE_R,FIXEDPERSON4_OLD, FIXEDPERSON_ALL_R, FIXEDPERSON_ALWAYS_R, FIXEDPERSON_CERTAIN, FIXEDPERSON_MATTER_R, COMM_FEEL, COMM_HELP, COMM_NEIGHBORS, NOTCOMM_UNSAFE, NOTCOMM_RELY,  NOTCOMM_DISTRUST,  EFFECT_CARE_COMM, EFFECT_CARE_EDUCATION, EFFECT_CARE_HVIP, EFFECT_FEAR_LEG, EFFECT_FEAR_POLICE, POLITICAL_BELIEFS, GENDER, SOCIALSTATUS, RACIALIZED)

##explanation: Select dataset created to isolate variables and data used in Wilmulti linear regression measuring level of trust and safety using likert scale response options.
#source: The Quantitative Playbook for Public Health Research in R. (McCarty, 2025) https://shanemccarty.github.io/FRIplaybook/dplyr.html

1.2.2 Community Indicator Transformations

Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(COMM_FEEL)) %>%
  mutate(
    COMM_FEEL == case_when(
    COMM_FEEL == 1 ~ "Strongly Disagree",
    COMM_FEEL== 2 ~ "Disagree",
    COMM_FEEL == 3 ~ "Slightly Disagree",
    COMM_FEEL== 4 ~ "Slightly Agree",
    COMM_FEEL == 5 ~ "Agree",
    COMM_FEEL == 6 ~ "Strongly Agree",
  )
  )
##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (COMM_FEEL: "My neighborhood feels like a community"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(COMM_HELP)) %>%
  mutate(
    COMM_HELP == case_when(
    COMM_HELP == 1 ~ "Strongly Disagree",
    COMM_HELP== 2 ~ "Disagree",
    COMM_HELP == 3 ~ "Slightly Disagree",
    COMM_HELP== 4 ~ "Slightly Agree",
    COMM_HELP == 5 ~ "Agree",
    COMM_HELP == 6 ~ "Strongly Agree",
  )
  )
##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (COMM_HELP: "Most people in this neighborhood are willing to help you if you need it" ). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(COMM_NEIGHBORS)) %>%
  mutate(
    COMM_NEIGHBORS == case_when(
    COMM_NEIGHBORS == 1 ~ "Strongly Disagree",
    COMM_NEIGHBORS== 2 ~ "Disagree",
    COMM_NEIGHBORS == 3 ~ "Slightly Disagree",
    COMM_NEIGHBORS== 4 ~ "Slightly Agree",
    COMM_NEIGHBORS == 5 ~ "Agree",
    COMM_NEIGHBORS == 6 ~ "Strongly Agree",
  )
  )
##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (COMM_HELP: "Most people in this neighborhood are willing to help you if you need it"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(NOTCOMM_UNSAFE)) %>%
  mutate(
    NOTCOMM_UNSAFE == case_when(
    NOTCOMM_UNSAFE == 1 ~ "Strongly Disagree",
    NOTCOMM_UNSAFE== 2 ~ "Disagree",
    NOTCOMM_UNSAFE == 3 ~ "Slightly Disagree",
    NOTCOMM_UNSAFE== 4 ~ "Slightly Agree",
    NOTCOMM_UNSAFE == 5 ~ "Agree",
    NOTCOMM_UNSAFE == 6 ~ "Strongly Agree",
  )
  )
##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (NONCOMM_UNSAFE: "I do not feel safe in my neighborhood "). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
 selectdata <- selectdata %>% filter(!is.na(NOTCOMM_UNSAFE)) %>%
  mutate(
    NOTCOMM_RELY == case_when(
    NOTCOMM_RELY == 1 ~ "Strongly Disagree",
    NOTCOMM_RELY== 2 ~ "Disagree",
    NOTCOMM_RELY == 3 ~ "Slightly Disagree",
    NOTCOMM_RELY == 4 ~ "Slightly Agree",
    NOTCOMM_RELY == 5 ~ "Agree",
    NOTCOMM_RELY == 6 ~ "Strongly Agree",
  )
  )
##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (NONCOMM_RELY: "I cannot rely on my neighbors for help if I need it"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(NOTCOMM_DISTRUST)) %>%
  mutate(
    NOTCOMM_DISTRUST== case_when(
    NOTCOMM_DISTRUST == 1 ~ "Strongly Disagree",
    NOTCOMM_DISTRUST== 2 ~ "Disagree",
    NOTCOMM_DISTRUST == 3 ~ "Slightly Disagree",
    NOTCOMM_DISTRUST == 4 ~ "Slightly Agree",
    NOTCOMM_DISTRUST == 5 ~ "Agree",
    NOTCOMM_DISTRUST == 6 ~ "Strongly Agree",
  )
  )

##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (NONCOMM_DISTRUST: "I do not trust my neighbors"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html

1.2.3 Fixed & Growth Transformations

Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON1_BASIC)) %>%
  mutate(
    FIXEDPERSON1_BASIC== case_when(
    FIXEDPERSON1_BASIC == 1 ~ "Strongly Agree",
    FIXEDPERSON1_BASIC== 2 ~ "Agree",
    FIXEDPERSON1_BASIC == 3 ~ "Slightly Agree",
    FIXEDPERSON1_BASIC == 4 ~ "Slightly Disagree",
    FIXEDPERSON1_BASIC == 5 ~ "Disagree",
    FIXEDPERSON1_BASIC == 6 ~ "Strongly Disagree",
  )
  )

##explanation: Assigning values 1-6 for low to high level of agreement with the corresponding statment (NONCOMM_DISTRUST: "I do not trust my neighbors"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON2_DIFF)) %>%
  mutate(
    FIXEDPERSON2_DIFF== case_when(
    FIXEDPERSON2_DIFF == 1 ~ "Strongly Agree",
    FIXEDPERSON2_DIFF== 2 ~ "Agree",
    FIXEDPERSON2_DIFF == 3 ~ "Slightly Agree",
    FIXEDPERSON2_DIFF == 4 ~ "Slightly Disagree",
    FIXEDPERSON2_DIFF == 5 ~ "Disagree",
    FIXEDPERSON2_DIFF == 6 ~ "Strongly Disagree",
  )
  )

##explanation:Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON2_DIFF: "People can do things differently, but the important parts of who they are can’t really be changed"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON3_CHANGE_R)) %>%
  mutate(
    FIXEDPERSON3_CHANGE_R== case_when(
    FIXEDPERSON3_CHANGE_R == 1 ~ "Strongly Agree",
    FIXEDPERSON3_CHANGE_R== 2 ~ "Agree",
    FIXEDPERSON3_CHANGE_R == 3 ~ "Slightly Agree",
    FIXEDPERSON3_CHANGE_R == 4 ~ "Slightly Disagree",
    FIXEDPERSON3_CHANGE_R == 5 ~ "Disagree",
    FIXEDPERSON3_CHANGE_R == 6 ~ "Strongly Disagree",
  )
  )

##explanation:Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON3_CHANGE_R: "Everyone, no matter who they are, can significantly change their basic characteristics"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON4_OLD)) %>%
  mutate(
    FIXEDPERSON4_OLD== case_when(
    FIXEDPERSON4_OLD == 1 ~ "Strongly Agree",
    FIXEDPERSON4_OLD== 2 ~ "Agree",
    FIXEDPERSON4_OLD == 3 ~ "Slightly Agree",
    FIXEDPERSON4_OLD == 4 ~ "Slightly Disagree",
    FIXEDPERSON4_OLD== 5 ~ "Disagree",
   FIXEDPERSON4_OLD== 6 ~ "Strongly Disagree",
  )
  )
##explanation:Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON4_OLD: "As much as I hate to admit it, you can’t teach an old dog new tricks. People can’t really change their deepest attributes"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON_ALL_R)) %>%
  mutate(
    FIXEDPERSON_ALL_R== case_when(
    FIXEDPERSON_ALL_R == 1 ~ "Strongly Agree",
    FIXEDPERSON_ALL_R== 2 ~ "Agree",
    FIXEDPERSON_ALL_R == 3 ~ "Slightly Agree",
    FIXEDPERSON_ALL_R== 4 ~ "Slightly Disagree",
    FIXEDPERSON_ALL_R== 5 ~ "Disagree",
    FIXEDPERSON_ALL_R== 6 ~ "Strongly Disgree",
  )
  )

##explanation: Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON_ALL_R: "All people can change even their most basic qualities"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON_ALWAYS_R)) %>%
  mutate(
    FIXEDPERSON_ALWAYS_R== case_when(
    FIXEDPERSON_ALWAYS_R == 1 ~ "Strongly Agree",
    FIXEDPERSON_ALWAYS_R == 2 ~ "Agree",
    FIXEDPERSON_ALWAYS_R == 3 ~ "Slightly Agree",
    FIXEDPERSON_ALWAYS_R== 4 ~ "Slightly Disagree",
    FIXEDPERSON_ALWAYS_R== 5 ~ "Disagree",
    FIXEDPERSON_ALWAYS_R== 6 ~ "Strongly Disagree",
  )
  )

##explanation: Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON_ALWAYS_R: "People can always substantially change the kind of person they are."). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor 
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON_CERTAIN)) %>%
  mutate(
    FIXEDPERSON_CERTAIN== case_when(
    FIXEDPERSON_CERTAIN == 1 ~ "Strongly Agree",
    FIXEDPERSON_CERTAIN == 2 ~ "Agree",
    FIXEDPERSON_CERTAIN== 3 ~ "Slightly Agree",
    FIXEDPERSON_CERTAIN== 4 ~ "Slightly Disagree",
    FIXEDPERSON_CERTAIN== 5 ~ "Disagree",
    FIXEDPERSON_CERTAIN== 6 ~ "Strongly Disagree",
  )
  )

##explanation: Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON_CERTAIN: "Everyone is a certain kind of person, and there is not much that can be done to really change that"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html
Show the code
#Factor NOTCOMM_DISTRUST
selectdata <- selectdata %>% filter(!is.na(FIXEDPERSON_MATTER_R)) %>%
  mutate(
    FIXEDPERSON_MATTER_R== case_when(
    FIXEDPERSON_MATTER_R == 1 ~ "Strongly Agree",
    FIXEDPERSON_MATTER_R== 2 ~ "Agree",
    FIXEDPERSON_MATTER_R == 3 ~ "Slightly Agree",
    FIXEDPERSON_MATTER_R== 4 ~ "Slightly Disagree",
    FIXEDPERSON_MATTER_R== 5 ~ "Disgree",
    FIXEDPERSON_MATTER_R== 6 ~ "Strongly Disagree",
  )
  )


##explanation:Assigning values 1-6 for high to low levels of agreement with the corresponding statment (FIXEDPERSON_CERTAIN: "No matter what kind of person someone is, they can always change very much"). This helps clearly filter  missing data and provides clear categorical variable labels for MLR modeling. 
#source: R for Data Science (2e), 16 Factors: https://r4ds.hadley.nz/factors.html

1.2.4 Composite variables for GROWTH and COMMUNITY

Prepare data for multiple linear regression test

Show the code
all_keys <- list(
  GROWTH = c("FIXEDPERSON1_BASIC", "FIXEDPERSON2_DIFF", "FIXEDPERSON3_CHANGE_R","FIXEDPERSON4_OLD", "FIXEDPERSON_ALL_R", "FIXEDPERSON_ALWAYS_R", "FIXEDPERSON_CERTAIN", "FIXEDPERSON_MATTER_R"),
  COMMUNITY= c("COMM_FEEL", "COMM_HELP", "COMM_NEIGHBORS", "NOTCOMM_UNSAFE", "NOTCOMM_RELY", "NOTCOMM_DISTRUST")
)
##explanation: Defining list object grouping related variables under GROWTH and COMMUNITY
#source: The Quantitative Playbook for Public Health Research in R (McCarty, 2025) https://shanemccarty.github.io/FRIplaybook/composite.html
Show the code
all_keys_with_reverse <- list (
   COMMUNITY = c("COMM_FEEL", "COMM_HELP", "COMM_NEIGHBORS", "-NOTCOMM_UNSAFE", "-NOTCOMM_RELY", "-NOTCOMM_DISTRUST"), 
  GROWTH = c("FIXEDPERSON1_BASIC", "FIXEDPERSON2_DIFF", "-FIXEDPERSON3_CHANGE_R", "FIXEDPERSON4_OLD", "-FIXEDPERSON_ALL_R", "-FIXEDPERSON_ALWAYS_R", "FIXEDPERSON_CERTAIN", "-FIXEDPERSON_MATTER_R")
  ) 
#note: scale ranges from strongly agree to strongly disagree
##explanation: Grouping survey variable names- marking reversed scored items before calculating average scores for GROWTH and COMMUNITY
#source: The Quantitative Playbook for Public Health Research in R (McCarty, 2025) https://shanemccarty.github.io/FRIplaybook/composite.html 
Show the code
library(psych)
all_scores <- scoreItems(all_keys_with_reverse, selectdata)

composite_scores <- all_scores$scores 

selectdata$COMMUNITY <- composite_scores[,"COMMUNITY"]
selectdata$GROWTH <- composite_scores[,"GROWTH"]

##explanation: Automatically computing reverse scored variables for GROWTH and COMMUNITY survey data
#source: The Quantitative Playbook for Public Health Research in R (McCarty, 2025) https://shanemccarty.github.io/FRIplaybook/composite.html 

1.2.5 Binary Gender & Race Variables

Show the code
selectdata <- selectdata %>%
  mutate(
    GENDER01 = case_when(
      GENDER== "0" ~ "0",
      GENDER== "1" ~ "1",
      GENDER == "2" ~ NA
    )
  )

##explanation: Creating a new variable (GENDER 01) recodes existing gender variables to include Female = 0 and Male = 1 allowing MLR to interpet gender as a numeric predictor. Other gender selections (Nonbinary, genderfluid, genderqueer (2)) were removed from the dataset for the purpose of the binary predictor and only being selected for by a single particpant in surveying. 
#source: (McCarty et al., 2025) https://fripublichealth.quarto.pub/zerosum/
Show the code
library(dplyr)
#| label: Simplifying-Racialized-group-variables

selectdata <- selectdata %>%
  mutate(
    RACE.4 = case_when(
      grepl(",", RACIALIZED) ~ "Mixed/Other", 
      RACIALIZED == "3" ~ "Black",
      RACIALIZED == "2" ~ "Asian",
      RACIALIZED == "7" ~ "White",
      RACIALIZED %in% c("1", "4","5","6", "8") ~ "Mixed/Other", 
      TRUE ~ NA_character_)
  )

##explanation: Simplifying the selections for racialized group variables, a new variable is created assigning muiltiple selections as 'Mixed/Other' and less commonly selected variables as "Mixed/Other". Highly selected groups were kept as their original variables (Black, Asian, White). This code is one step towards forming binary variables for descriptive statistics and demographic breakdown. 
#source: (McCarty et al., 2025) https://fripublichealth.quarto.pub/zerosum/
Show the code
selectdata <- selectdata %>%
  mutate(
    POC = case_when(
      RACE.4== "Asian" ~ "1",
      RACE.4== "Black" ~ "1",
      RACE.4 == "White" ~ "0",
      RACE.4 == "Mixed/Other" ~ "1",
      TRUE ~ NA_character_
    )
  )

##explanation: Adding a POC column in the dataframe this code takes existing RACE.4 simpflied racialized group variables and creates a binary indicator assigning White = 0 and POC = 1 (POC including: Mixed/Other, Asian, and Black from RACE.4). This code helps This code is one step in formulatig descriptive statistics and demographic breakdown.   
#source: (McCarty et al., 2025) https://fripublichealth.quarto.pub/zerosum/

1.3 Data set Descriptive Statistics

The majority of sample participants were between the ages of 18 to 25 years old with a mean age of 21.5 years (SD= 9.08 years), minimum of 18, and a maximum of 73.  Of those surveyed 29 reported themselves as White and 24 reported themselves as a Person of Color (POC). Self reporting of gender indicates 35 women surveyed, 16 men surveyed, and 1 person identifying as nonbinary or gender non conforming. The following descriptive statistics for continuous data, statement responses, and predictor variables are shown in this section. In terms of demographic representation, Broome County is approximately 80% white and 20% POC differing from the survey sample population made up of 55% white respondents and 45% POC respondents. This racial distribution more so resembles the US population: nearly 58% white (Data USA, 2022). A more diverse sample population may be attributed to data collection primarily from a college campus with higher racial diversity than its residing county: 50.2% white, 49.8% POC (Data USA, 2022). 

1.3.1 Count

Show the code
#|label: Count-Descriptive-Stats
library(dplyr)
selectdata$AGE <- as.numeric(selectdata$AGE)

selectdata %>%
  summarise(across(
    c(
      AGE, EFFECT_CARE_COMM, EFFECT_CARE_EDUCATION, EFFECT_CARE_HVIP, EFFECT_FEAR_LEG,
      EFFECT_FEAR_POLICE, COMM_FEEL, COMM_HELP, COMM_NEIGHBORS,
      NOTCOMM_UNSAFE, NOTCOMM_RELY, NOTCOMM_DISTRUST,
      FIXEDPERSON1_BASIC, FIXEDPERSON2_DIFF, FIXEDPERSON3_CHANGE_R,
      FIXEDPERSON4_OLD, FIXEDPERSON_ALWAYS_R, FIXEDPERSON_CERTAIN,
      FIXEDPERSON_MATTER_R, GENDER01
    ),
    ~ sum(!is.na(.x))
  ))
# A tibble: 1 × 20
    AGE EFFECT_CARE_COMM EFFECT_CARE_EDUCATION EFFECT_CARE_HVIP EFFECT_FEAR_LEG
  <int>            <int>                 <int>            <int>           <int>
1    56               56                    57               55              57
# ℹ 15 more variables: EFFECT_FEAR_POLICE <int>, COMM_FEEL <int>,
#   COMM_HELP <int>, COMM_NEIGHBORS <int>, NOTCOMM_UNSAFE <int>,
#   NOTCOMM_RELY <int>, NOTCOMM_DISTRUST <int>, FIXEDPERSON1_BASIC <int>,
#   FIXEDPERSON2_DIFF <int>, FIXEDPERSON3_CHANGE_R <int>,
#   FIXEDPERSON4_OLD <int>, FIXEDPERSON_ALWAYS_R <int>,
#   FIXEDPERSON_CERTAIN <int>, FIXEDPERSON_MATTER_R <int>, GENDER01 <int>
Show the code
##explanation: Converting Age to numeric variable and formulating count for each variable
#source: (Soetewey, 2020) https://statsandr.com/blog/descriptive-statistics-in-r/

1.3.2 Means

Show the code
mean(selectdata$AGE, na.rm = TRUE)
[1] 21.92857
Show the code
mean(selectdata$EFFECT_CARE_COMM, na.rm = TRUE)
[1] 4.821429
Show the code
mean(selectdata$EFFECT_CARE_EDUCATION, na.rm = TRUE)
[1] 4.789474
Show the code
mean(selectdata$EFFECT_CARE_HVIP, na.rm = TRUE)
[1] 3.927273
Show the code
mean(selectdata$EFFECT_FEAR_LEG, na.rm = TRUE)
[1] 4.280702
Show the code
mean(selectdata$EFFECT_FEAR_POLICE, na.rm = TRUE)
[1] 3.172414
Show the code
mean(selectdata$COMM_FEEL, na.rm = TRUE)
[1] 4.017241
Show the code
mean(selectdata$COMM_HELP, na.rm = TRUE)
[1] 4.37931
Show the code
mean(selectdata$COMM_NEIGHBORS, na.rm = TRUE)
[1] 4.413793
Show the code
mean(selectdata$NOTCOMM_UNSAFE, na.rm = TRUE)
[1] 2.344828
Show the code
mean(selectdata$NOTCOMM_RELY, na.rm = TRUE)
[1] 3.087719
Show the code
mean(selectdata$NOTCOMM_DISTRUST, na.rm = TRUE)
[1] 2.655172
Show the code
mean(selectdata$FIXEDPERSON1_BASIC, na.rm = TRUE)
[1] 4.482759
Show the code
mean(selectdata$FIXEDPERSON2_DIFF, na.rm = TRUE)
[1] 4.068966
Show the code
mean(selectdata$FIXEDPERSON3_CHANGE_R, na.rm = TRUE)
[1] 2.810345
Show the code
mean(selectdata$FIXEDPERSON4_OLD, na.rm = TRUE)
[1] 4.344828
Show the code
mean(selectdata$FIXEDPERSON_ALWAYS_R, na.rm = TRUE)
[1] 2.810345
Show the code
mean(selectdata$FIXEDPERSON_CERTAIN, na.rm = TRUE)
[1] 4.396552
Show the code
mean(selectdata$FIXEDPERSON_MATTER_R, na.rm = TRUE)
[1] 3.034483
Show the code
mean(as.numeric(selectdata$GENDER01), na.rm = TRUE)
[1] 0.3392857
Show the code
#explanation: Means for variables
##source: (Cotton, 2024)  https://campus.datacamp.com/courses/hypothesis-testing-in-r/introduction-to-hypothesis-testing-1?ex=3

1.3.3 Standard Deviations

Show the code
sd(selectdata$AGE, na.rm = TRUE)
[1] 9.888206
Show the code
sd(selectdata$EFFECT_CARE_COMM, na.rm = TRUE)
[1] 1.129878
Show the code
sd(selectdata$EFFECT_CARE_EDUCATION, na.rm = TRUE)
[1] 1.249812
Show the code
sd(selectdata$EFFECT_CARE_HVIP, na.rm = TRUE)
[1] 0.9594471
Show the code
sd(selectdata$EFFECT_FEAR_LEG, na.rm = TRUE)
[1] 1.235695
Show the code
sd(selectdata$EFFECT_FEAR_POLICE, na.rm = TRUE)
[1] 1.415924
Show the code
sd(selectdata$COMM_FEEL, na.rm = TRUE)
[1] 1.263404
Show the code
sd(selectdata$COMM_HELP, na.rm = TRUE)
[1] 1.10545
Show the code
sd(selectdata$COMM_NEIGHBORS, na.rm = TRUE)
[1] 1.092791
Show the code
sd(selectdata$NOTCOMM_UNSAFE, na.rm = TRUE)
[1] 1.221901
Show the code
sd(selectdata$NOTCOMM_RELY, na.rm = TRUE)
[1] 1.138305
Show the code
sd(selectdata$NOTCOMM_DISTRUST, na.rm = TRUE)
[1] 1.052178
Show the code
sd(selectdata$FIXEDPERSON1_BASIC, na.rm = TRUE)
[1] 1.327726
Show the code
sd(selectdata$FIXEDPERSON2_DIFF, na.rm = TRUE)
[1] 1.295905
Show the code
sd(selectdata$FIXEDPERSON3_CHANGE_R, na.rm = TRUE)
[1] 1.099552
Show the code
sd(selectdata$FIXEDPERSON4_OLD, na.rm = TRUE)
[1] 1.207458
Show the code
sd(selectdata$FIXEDPERSON_ALWAYS_R, na.rm = TRUE)
[1] 1.191445
Show the code
sd(selectdata$FIXEDPERSON_CERTAIN, na.rm = TRUE)
[1] 1.153783
Show the code
sd(selectdata$FIXEDPERSON_MATTER_R, na.rm = TRUE)
[1] 1.350315
Show the code
sd(as.numeric(selectdata$GENDER01), na.rm = TRUE)
[1] 0.4777518
Show the code
##explanation: Standard deviations for variables
#source: (Waples, 2025) https://www.datacamp.com/tutorial/r-sd

1.3.4 Medians

Show the code
median(selectdata$AGE, na.rm = TRUE)
[1] 19
Show the code
median(selectdata$EFFECT_CARE_COMM, na.rm = TRUE)
[1] 5
Show the code
median(selectdata$EFFECT_CARE_EDUCATION, na.rm = TRUE)
[1] 5
Show the code
median(selectdata$EFFECT_CARE_HVIP, na.rm = TRUE)
[1] 4
Show the code
median(selectdata$EFFECT_FEAR_LEG, na.rm = TRUE)
[1] 4
Show the code
median(selectdata$EFFECT_FEAR_POLICE, na.rm = TRUE)
[1] 3
Show the code
median(selectdata$COMM_FEEL, na.rm = TRUE)
[1] 4
Show the code
median(selectdata$COMM_HELP, na.rm = TRUE)
[1] 4
Show the code
median(selectdata$COMM_NEIGHBORS, na.rm = TRUE)
[1] 4.5
Show the code
median(selectdata$NOTCOMM_UNSAFE, na.rm = TRUE)
[1] 2
Show the code
median(selectdata$NOTCOMM_RELY, na.rm = TRUE)
[1] 3
Show the code
median(selectdata$NOTCOMM_DISTRUST, na.rm = TRUE)
[1] 2.5
Show the code
median(selectdata$FIXEDPERSON1_BASIC, na.rm = TRUE)
[1] 5
Show the code
median(selectdata$FIXEDPERSON2_DIFF, na.rm = TRUE)
[1] 4
Show the code
median(selectdata$FIXEDPERSON3_CHANGE_R, na.rm = TRUE)
[1] 3
Show the code
median(selectdata$FIXEDPERSON4_OLD, na.rm = TRUE)
[1] 5
Show the code
median(selectdata$FIXEDPERSON_ALWAYS_R, na.rm = TRUE)
[1] 3
Show the code
median(selectdata$FIXEDPERSON_CERTAIN, na.rm = TRUE)
[1] 4.5
Show the code
median(selectdata$FIXEDPERSON_MATTER_R, na.rm = TRUE)
[1] 3
Show the code
median(as.numeric(selectdata$GENDER01), na.rm = TRUE)
[1] 0
Show the code
##explanation: Medians for variables
#source: (Waples, 2025)  https://www.datacamp.com/tutorial/r-median-function

1.3.5 Minimums

Show the code
min(selectdata$AGE, na.rm = TRUE)
[1] 18
Show the code
min(selectdata$EFFECT_CARE_COMM, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$EFFECT_CARE_EDUCATION, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$EFFECT_CARE_HVIP, na.rm = TRUE)
[1] 2
Show the code
min(selectdata$EFFECT_FEAR_LEG, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$EFFECT_FEAR_POLICE, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$COMM_FEEL, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$COMM_HELP, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$COMM_NEIGHBORS, na.rm = TRUE)
[1] 2
Show the code
min(selectdata$NOTCOMM_UNSAFE, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$NOTCOMM_RELY, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$NOTCOMM_DISTRUST, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$FIXEDPERSON1_BASIC, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$FIXEDPERSON2_DIFF, na.rm = TRUE)
[1] 2
Show the code
min(selectdata$FIXEDPERSON3_CHANGE_R, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$FIXEDPERSON4_OLD, na.rm = TRUE)
[1] 2
Show the code
min(selectdata$FIXEDPERSON_ALWAYS_R, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$FIXEDPERSON_CERTAIN, na.rm = TRUE)
[1] 1
Show the code
min(selectdata$FIXEDPERSON_MATTER_R, na.rm = TRUE)
[1] 1
Show the code
min(as.numeric(selectdata$GENDER01), na.rm = TRUE)
[1] 0
Show the code
##explanation: Minimums for variables
#source: (Cotton, 2022)  https://www.datacamp.com/cheat-sheet/getting-started-r

1.3.6 Maximums

Show the code
max(selectdata$AGE, na.rm = TRUE)
[1] 73
Show the code
max(selectdata$EFFECT_CARE_COMM, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$EFFECT_CARE_EDUCATION, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$EFFECT_CARE_HVIP, na.rm = TRUE)
[1] 5
Show the code
max(selectdata$EFFECT_FEAR_LEG, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$EFFECT_FEAR_POLICE, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$COMM_FEEL, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$COMM_HELP, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$COMM_NEIGHBORS, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$NOTCOMM_UNSAFE, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$NOTCOMM_RELY, na.rm = TRUE)
[1] 5
Show the code
max(selectdata$NOTCOMM_DISTRUST, na.rm = TRUE)
[1] 5
Show the code
max(selectdata$FIXEDPERSON1_BASIC, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$FIXEDPERSON2_DIFF, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$FIXEDPERSON3_CHANGE_R, na.rm = TRUE)
[1] 5
Show the code
max(selectdata$FIXEDPERSON4_OLD, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$FIXEDPERSON_ALWAYS_R, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$FIXEDPERSON_CERTAIN, na.rm = TRUE)
[1] 6
Show the code
max(selectdata$FIXEDPERSON_MATTER_R, na.rm = TRUE)
[1] 6
Show the code
max(as.numeric(selectdata$GENDER01), na.rm = TRUE)
[1] 1
Show the code
##explanation: Maximums for variables
#source: (Cotton, 2022) https://www.datacamp.com/cheat-sheet/getting-started-r

1.3.7 Data set Visualizations Pt 1: Normality

In the following statistical tests, participants were evaluated on predictor variables related to community safety or trust, growth-mindset beliefs, and support for various forms of violence-prevention strategies. Predictor variables of community safety or trust and growth-mindset beliefs were visualized to check for normality before performing multiple linear regression tests in Figures 1.1 and 1.2.

Show the code
#Check Normal distribution for regression test
library(ggplot2)

Attaching package: 'ggplot2'
The following objects are masked from 'package:psych':

    %+%, alpha
Show the code
#Histogram for COMMUNITY 
COMMUNITY_DISTPLOT <- ggplot(selectdata, mapping = aes(x = COMMUNITY)) + 
  geom_histogram(binwidth = 1, fill = "#EDE3FF", color = "black", width = 0.8, position = "identity" )+ 
  scale_x_continuous(
    breaks = 1:6,
    labels = c(
      "1 = Strongly Disgree",
      "2 = Disgree",
      "3 = Slightly Disgree",
      "4 = Slightly Agree",
      "5 = Agree",
      "6 = Strongly Agree"
    )
  )+ labs(
    title = "Community Safety Perception Distribution",
    x = "Level of Agreement with Safety Statements ",
    y = "Number of Responses"
  ) +
  theme_bw() +
  theme(
    axis.text.x = element_text(
      angle = 55,          
      hjust = 1,          
      vjust = 1,           
      size = 10            
    ),
    plot.margin = margin(10, 10, 20, 10)  # 
  )

# Print and save to the plots folder
print(COMMUNITY_DISTPLOT)

Community levels of agreement distributed fairly normally with majority of responses centered around 4- Slightly Agree.

Figure 1.1. Distribution of COMMMUNITY- Fairly normal distribution allows for multiple linear regression test
Show the code
ggsave("plotsTEAM/COMMUNITY_DISTPLOT.png", 
       plot = COMMUNITY_DISTPLOT,
       width = 10, height = 8, dpi = 300)



##explanation: Visualizing Community Distribution to check for normality: relatively normal distribution satisfies requirements for MLR 
#source: Visualize a distribution with a histogram: https://posit.cloud/learn/recipes/visualize/VisualizeA5., (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/ggtheme.html
Show the code
#Check Normal distribution for regression test 

library(ggplot2)

#Histogram for GROWTH
GROWTH_DISTPLOT <- ggplot(selectdata, aes(x = GROWTH)) + 
  geom_histogram(binwidth = 1, fill = "#FFDBBB", color = "black") +
  scale_x_continuous(
    breaks = 1:6,
    labels = c(
      "1 = Strongly Agree",
      "2 = Agree",
      "3 = Slightly Agree",
      "4 = Slightly Disagree",
      "5 = Disagree",
      "6 = Strongly Disagree"
    )
  ) +
  labs(
    title = " Growth Mindset Distribution",
    x = "Level of Agreement with Growth Mindset Statements",
    y = "Number of Responses"
  ) +
theme_bw() +
  theme(
    axis.text.x = element_text(
      angle = 55,          
      hjust = 1,          
      vjust = 1,           
      size = 10            
    ),
    plot.margin = margin(10, 10, 20, 10)  # 
  ) 
# Print and save to the plots folder
print(GROWTH_DISTPLOT)

Growth levels of agreement distributed fairly normally with majority of responses centered around 5-6

Figure 1.2 Distribution of Growth Mindset-Distribution of GROWTH- Fairly normal distribution allows for multiple linear regression test
Show the code
ggsave("plotsTEAM/GROWTH_DISTPLOT.png", 
       plot = GROWTH_DISTPLOT,
       width = 10, height = 8, dpi = 300)



##explanation: Visualizing Growth Distribution to check for normality: relatively normal distribution satisfies requirements for MLR 
#source:Visualize a distribution with a histogram: https://posit.cloud/learn/recipes/visualize/VisualizeA5., (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/ggtheme.html

1.3.8 Data set Visualizations Pt 2: Non-normality

Independent variables of effectiveness of care-based community interventions, effectiveness of care-based education interventions, and effectiveness of fear-based policing interventions were visualized to check for non-normal distributions for the Wilcoxon-Mann-Whitney U tests (Figures 1.3, 1.4, and 1.5).

Show the code
#Check Normal distribution for regression test 

library(ggplot2)

#Histogram for community-based interventions
COMM_DISTPLOT <- ggplot(selectdata, aes(x = EFFECT_CARE_COMM)) + 
  geom_histogram(binwidth = 1, fill = "#C8DBC8", color = "black") +
  scale_x_continuous(
    breaks = 1:6,
    labels = c(
      "1 = Strongly Disagree",
      "2 = Disagree",
      "3 = Slightly Disagree",
      "4 = Slightly Agree",
      "5 = Agree",
      "6 = Strongly Agree"
    )
  ) +
  labs(
    title = " Community-Based Intervention Data Distribution",
    x = "Level of Agreement that Community-based Interventions are Effective",
    y = "Number of Responses"
  ) +
theme_bw() +
  theme(
    axis.text.x = element_text(
      angle = 55,          
      hjust = 1,          
      vjust = 1,           
      size = 10            
    ),
    plot.margin = margin(10, 10, 20, 10)  # 
  ) 
# Print and save to the plots folder
print(COMM_DISTPLOT)
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_bin()`).

Agreeance on community-based intervention effectiveness is distributed non-normally with majority of responses centered around 5-6, agree to strongly agree.

Figure 1.3 Distribution of data on Community-Based-Intervention. Non-normal distrubution allows for Wilcoxon-Mann-Whitney_U test.
Show the code
ggsave("plotsTEAM/COMM_DISTPLOT.png", 
       plot = GROWTH_DISTPLOT,
       width = 10, height = 8, dpi = 300)

 

##explanation: checking for normality within the EFFECT_CARE_COMM data set using a Histogram 
#source: Visualize a distribution with a histogram: https://posit.cloud/learn/recipes/visualize/VisualizeA5., (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/ggtheme.html
Show the code
#Check Normal distribution for regression test 

library(ggplot2)

#Histogram for educational programs 
EDUCATION_DISTPLOT <- ggplot(selectdata, aes(x = EFFECT_CARE_EDUCATION)) + 
  geom_histogram(binwidth = 1, fill = "#C8DBC8", color = "black") +
  scale_x_continuous(
    breaks = 1:6,
    labels = c(
      "1 = Strongly Disagree",
      "2 = Disagree",
      "3 = Slightly Disagree",
      "4 = Slightly Agree",
      "5 = Agree",
      "6 = Strongly Agree"
    )
  ) +
  labs(
    title = " Educational Programs Data Distribution",
    x = "Level of Agreement that Educational Programs are Effective",
    y = "Number of Responses"
  ) +
theme_bw() +
  theme(
    axis.text.x = element_text(
      angle = 55,          
      hjust = 1,          
      vjust = 1,           
      size = 10            
    ),
    plot.margin = margin(10, 10, 20, 10)  # 
  ) 
# Print and save to the plots folder
print(EDUCATION_DISTPLOT)
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_bin()`).

Agreeance on Educational Programs effectiveness is distributed non-normally with majority of responses centered around 5-6, agree to strongly agree.

Figure 1.3 Distribution of data on Educational Programs. Non-normal distrubution allows for Wilcoxon-Mann-Whitney_U test.
Show the code
ggsave("plotsTEAM/EDUCATION_DISTPLOT.png", 
       plot = EDUCATION_DISTPLOT,
       width = 10, height = 8, dpi = 300)
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_bin()`).
Show the code
##explanation: checking for normality within the EFFECT_CARE_EDUCATION data set using a Histogram 
#source: Visualize a distribution with a histogram: https://posit.cloud/learn/recipes/visualize/VisualizeA5., (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/ggtheme.html
Show the code
#Check Normal distribution for regression test 

library(ggplot2)

#Histogram for Policing
POLICE_DISTPLOT <- ggplot(selectdata, aes(x = EFFECT_FEAR_POLICE)) + 
  geom_histogram(binwidth = 1, fill = "#F3CDCC", color = "black") +
  scale_x_continuous(
    breaks = 1:6,
    labels = c(
      "1 = Strongly Disagree",
      "2 = Disagree",
      "3 = Slightly Disagree",
      "4 = Slightly Agree",
      "5 = Agree",
      "6 = Strongly Agree"
    )
  ) +
  labs(
    title = "Policing Data Distribution",
    x = "Level of Agreement that Policing is Effective",
    y = "Number of Responses"
  ) +
theme_bw() +
  theme(
    axis.text.x = element_text(
      angle = 55,          
      hjust = 1,          
      vjust = 1,           
      size = 10            
    ),
    plot.margin = margin(10, 10, 20, 10)  # 
  ) 
# Print and save to the plots folder
print(POLICE_DISTPLOT)

Agreeance on policing effectiveness is distributed non-normally with majority of responses slightly left skewed.

Figure 1.3 Distribution of data on Policing. Non-normal distrubution allows for Wilcoxon-Mann-Whitney_U test.
Show the code
ggsave("plotsTEAM/POLICE_DISTPLOT.png", 
       plot = POLICE_DISTPLOT,
       width = 10, height = 8, dpi = 300)


##explanation: checking for normality within the EFFECT_FEAR_POLICING data set using a Histogram 
#source: Visualize a distribution with a histogram: https://posit.cloud/learn/recipes/visualize/VisualizeA5, (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/ggtheme.html

1.4 Model & Visualizations

1.4.1 Perceived Effectiveness of Violence Prevention Approaches

In Figure 2, the most supported violence prevention or safety-promoting strategy was evaluated through the mean level of agreement for the effectiveness of each strategy. The figure shows that care-based strategies received the highest level of agreement regarding effectiveness. Specifically, community-based interventions and educational programs had the highest means, respectively, 4.80 and 4.76. On the other hand, policing, a fear-based strategy, has the lowest rated agreement regarding effectiveness, with a mean of 3.20.

Show the code
library(dplyr)
library(tidyr)
library(ggplot2)

#Make data into long form  
longdata <- selectdata %>% 
  select(EFFECT_CARE_EDUCATION, EFFECT_CARE_HVIP, EFFECT_CARE_COMM, EFFECT_FEAR_LEG, EFFECT_FEAR_POLICE) %>% 
  pivot_longer(cols = everything(), 
               names_to = "Variable", 
               values_to = "Value")
#change variable names 
longdata <- longdata %>%
  mutate(
    Label = recode(Variable,
      "EFFECT_CARE_EDUCATION" = "Education",
      "EFFECT_CARE_HVIP"      = "HVIP",
      "EFFECT_CARE_COMM"      = "Community",
      "EFFECT_FEAR_LEG"       = "Legislation",
      "EFFECT_FEAR_POLICE"    = "Police"
    )
  )

#Compute means
means <- longdata %>%
  group_by(Label) %>%
  summarise(Mean = mean(Value, na.rm = TRUE)) %>%
  mutate(Label = reorder(Label, -Mean))

#colors for each varaible 
custom_colors <- c(
  "Education" = "#C8DBC8",
  "HVIP" = "#C8DBC8",
  "Community" = "#C8DBC8",
  "Legislation" = "gray",
  "Police" = "#F3CDCC"
)

#Bar Plot
Plot_Strategy_Effectiveness <- ggplot(means, aes(x = Label, y = Mean, fill = Label)) + 
  geom_col(color="black") +
  geom_text(aes(label = round(Mean, 2)), vjust = -0.3) +
  scale_fill_manual(values = custom_colors)+
    scale_y_continuous(
    limits = c(0, 6),
    breaks = 1:6,
    labels = c(
      "1: Strongly Disagree", 
      "2: Disagree", 
      "3: Slightly Disagree", 
      "4: Slightly Agree", 
      "5: Agree", 
      "6: Strongly Agree"
    )
    )+
  labs(
    title = "Perceived Effectiveness of Each Intervention by Mean",
    x = "Interventions",
    y = "Level of Agreeance with Effectiveness"
  ) +
theme(
  legend.position = "none",
  plot.title = element_text(size = 20, face = "bold", hjust = 0.5, margin = margin(b = 15)),
  legend.title = element_text(size = 30, face = "bold"),
  legend.text = element_text(size = 20),
  axis.title.x = element_text(size = 15, face = "bold", margin = margin(t = 12)),
  axis.title.y = element_text(size = 15, face = "bold", margin = margin(r = 12)),
  axis.text.x = element_text(size = 9, lineheight = 0.8, angle = 50, hjust = 1, vjust = 1),
  axis.text.y = element_text(size = 9, hjust = 1)
)
ggsave("plotsTEAM/Plot_Strategy_Effectiveness.png", 
       plot = Plot_Strategy_Effectiveness,
       width = 10, height = 8, dpi = 300)
Plot_Strategy_Effectiveness

The bar plot show level of agreeance of effectiveness for each violence prevention and safety promotion intervention Each strategy is represented on the x-axis, while the level of agreement of effectiveness for each intervention is represented on the y-axis. Green bars represent care-based interventions, the grey bar represents a neutral strategy, and the red bar represents a fear-based intervention. Community-based interventions and educational programs had the highest rated agreeance of effectivenss and policing had the lowest rating.

Figure 2- Perceived Effectiveness of Each Intervention by Mean- Bar plot shows the mean perceived effectiveness of each community violence prevention and safety promotion intervention- 6 represents there is strong agreement that the intervention is effective in reducing violence and achieving safety- while 1 represents there is strong disagreement that the intervention is effective
Show the code
##explanation: Bar plot the mean percieved effectiveness of each community violence prevention and saftey promotion strategy.
#source: Visualize counts with a bar chart (2025) https://posit.cloud/learn/recipes/visualize/VisualizeA4 

1.4.1.1 Testing for Statistical Significance: Mann Whitney U Care & Fear

Of the inventions surveyed for effectiveness, community-based interventions were the highest rated care-based intervention, whereas policing was the highest rated fear-based intervention. Therefore, the Wilcoxon-Mann-Whitney U-test was used to determine whether there was a statistically significant difference in the level of agreement regarding effectiveness between community-based interventions and educational programs. The Wilcoxon-Mann-Whitney U-test showed no statistically significant difference between support for community-based interventions and educational programs (p = 0.9735). The strategy with the highest level of support was further evaluated in this study. Since no statistically significant difference was found between these two variables, community-based interventions were chosen for further analysis.

A second Wilcoxon-Mann-Whitney U-test was run between community-based interventions and policing to evaluate if there was a statistically significant difference between the highest-rated care-based intervention and the fear-based strategy. The test showed a statistically significant difference between these two variables (p < 0.001).

Show the code
wilcox.test(selectdata$EFFECT_CARE_COMM, selectdata$EFFECT_CARE_EDUCATION, paired=FALSE)

    Wilcoxon rank sum test with continuity correction

data:  selectdata$EFFECT_CARE_COMM and selectdata$EFFECT_CARE_EDUCATION
W = 1590, p-value = 0.9735
alternative hypothesis: true location shift is not equal to 0
Show the code
##explanation: Mann-Whitney U Test was used for non-normal distributed data. The test showed that there is not a statistically significant difference in percieved effectiveness of community-based interventions and education programs in achieving safety and reducing violence.
# source: (Cotton, 2024) https://campus.datacamp.com/courses/hypothesis-testing-in-r/non-parametric-tests?ex=10
Show the code
wilcox.test(selectdata$EFFECT_CARE_COMM, selectdata$EFFECT_FEAR_POLICE, paired=FALSE)

    Wilcoxon rank sum test with continuity correction

data:  selectdata$EFFECT_CARE_COMM and selectdata$EFFECT_FEAR_POLICE
W = 2644, p-value = 3.19e-09
alternative hypothesis: true location shift is not equal to 0
Show the code
##explanation: Mann-Whitney U Test was used because I had non-normal distributed data for my independent variables. The test showed that there is a statistically significant difference in percieved effectiveness of community-based interventions and police in achieving safety and reducing violence. 
# source: (Cotton, 2024) https://campus.datacamp.com/courses/hypothesis-testing-in-r/non-parametric-tests?ex=10

1.4.2 Gender and Perceived Effectiveness of Violence Prevention Approaches

1.4.2.1 Testing for Statistical Significance: Mann Whitney Care & Fear with Gender

A third Wilcoxon-Mann-Whitney U-Test evaluated whether there was a statistically significant difference between how men and women perceived the effectiveness of community-based interventions, a care-based approach. The test showed a statistically significant difference between these two variables (p < 0.001). Figure 3 visualizes the level of agreement with the effectiveness of community-based interventions between males and females. This indicates that both men and women show moderate to high levels of agreement that community-based interventions are an effective way to reduce violence and achieve community safety. This belief was more prevalent amongst women surveyed. 

A fourth Wilcoxon-Mann-Whitney U-Test was performed to evaluate whether there was a statistically significant difference between how men and women perceive the effectiveness of policing, a fear-based approach. The test showed a statistically significant difference between these two variables (p < 0.001). Figure 4 visualizes the level of agreement with the effectiveness of the fear-based policing intervention among males and females. This evaluation indicated that women show higher levels of agreement with the effectiveness of policing than men surveyed. While both males and females surveyed showed greater variation in the level of agreement with effectiveness, males indicated more extreme levels of agreement than women, as indicated in Figure 4 below.

Show the code
wilcox.test(selectdata$EFFECT_CARE_COMM, selectdata$GENDER, paired=FALSE)

    Wilcoxon rank sum test with continuity correction

data:  selectdata$EFFECT_CARE_COMM and selectdata$GENDER
W = 3180.5, p-value < 2.2e-16
alternative hypothesis: true location shift is not equal to 0
Show the code
##explanation: Mann-Whitney U Test was used because I had non-normal distributed data for my independent variables. The test showed that there is a statistically significant difference in how men vs. women responded to the effectiveness of community-based interventions in achieving safety and reducing violence. 
# source: (Cotton, 2024) https://campus.datacamp.com/courses/hypothesis-testing-in-r/non-parametric-tests?ex=10
Show the code
selectdata <- subset(selectdata, GENDER != 2)
library(ggplot2) 
GENDER_CARE_BAR_EFFECTIVENESS <- ggplot(selectdata, aes(x =EFFECT_CARE_COMM, fill = GENDER01)) + 
  geom_bar() +
  facet_wrap(~ GENDER01, 
             labeller = as_labeller(c("0"= "Women", "1"= "Men"))) +
  scale_fill_manual(
    values = c("0" = "hotpink", "1" = "darkblue"),
    labels = c("Women","Men")) +
  labs(
    title = "Level of Agreement with Commmunity-Based Intervention Effectiveness by Count (Grouped by Gender)",
    x = "Level of Agreement with Community-Based Interventions",
    y = "Number of Respondents",
    fill = "Gender"
  ) +
  theme_minimal()
  theme(axis.text.x = element_text(angle = 45, hjust= 1), 
  panel.spacing = unit(1, "lines"))
<theme> List of 2
 $ axis.text.x  : <ggplot2::element_text>
  ..@ family       : NULL
  ..@ face         : NULL
  ..@ italic       : chr NA
  ..@ fontweight   : num NA
  ..@ fontwidth    : num NA
  ..@ colour       : NULL
  ..@ size         : NULL
  ..@ hjust        : num 1
  ..@ vjust        : NULL
  ..@ angle        : num 45
  ..@ lineheight   : NULL
  ..@ margin       : NULL
  ..@ debug        : NULL
  ..@ inherit.blank: logi FALSE
 $ panel.spacing: 'simpleUnit' num 1lines
  ..- attr(*, "unit")= int 3
 @ complete: logi FALSE
 @ validate: logi TRUE
Show the code
    # Print and save to the plots folder
print(GENDER_CARE_BAR_EFFECTIVENESS)
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_count()`).

the faceted bar charts show level of agreeance regarding effectiveness on the x axis and number of respondents on the y axis with the grouping variable being Gender. Women are shown on the left plot in pink while men are displayed in the right plot as blue. The women and men are seperated into two different bar charts side by side to more clearly compare the two genders perceptions on effectiveness of community-based interventions in achieving safety and reducing violence.

Figure 3. Faceted Bar plot show how women vs. men rated the level of agreeance regarding effectiveness of community-based interventions in achieving community safety and reducing violence. Both women and men rated community-based interventions moderately to highly effective, clustering around 4-6 (slightly agree to strongly agree).
Show the code
ggsave("plotsTEAM/GENDER_CARE_BAR_EFFECTIVENESS.png", 
       plot = GENDER_CARE_BAR_EFFECTIVENESS,
       width = 10, height = 8, dpi = 300)
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_count()`).
Show the code
## explanation: geom_bar was used to create a bar chart. facet_wrap was used to create two bar charts side by side, making for more clear comparison. scale_fill_manual was used to assign different colors to women and men. 
# source: Facets for ggplot2 in R: https://www.datacamp.com/tutorial/facets-ggplot-r?utm_cid=19589720830&utm_aid=192320612808&utm_campaign=230119_1-ps-other~dsa~tofu-tutorial_2-b2c_3-nam_4-prc_5-na_6-na_7-le_8-pdsh-go_9-nb-e_10-na_11-na&utm_loc=9005440-&utm_mtd=-c&utm_kw=&utm_source=google&utm_medium=paid_search&utm_content=ps-other~nam-en~dsa~tofu~tutorial~r&gad_source=1&gad_campaignid=19589720830&gbraid=0AAAAADQ9WsE-qQWqJzrNtLk3a92Tas6fv&gclid=Cj0KCQjw9obIBhCAARIsAGHm1mSIm-RYrKJvBT8eFnXOLvPH0K9Ad_Zrc5-Xa6MAYJXC5SAaWiN1SrYaAsliEALw_wcB
Show the code
wilcox.test(selectdata$EFFECT_FEAR_POLICE, selectdata$GENDER, paired=FALSE)

    Wilcoxon rank sum test with continuity correction

data:  selectdata$EFFECT_FEAR_POLICE and selectdata$GENDER
W = 3069.5, p-value < 2.2e-16
alternative hypothesis: true location shift is not equal to 0
Show the code
##explanation: Mann-Whitney U Test was used because I had non-normal distributed data for my independent variables. The test showed that there is a statistically significant difference in how men vs. women responded to the effectiveness of police in achieving safety and reducing violence. 
# source: (Cotton, 2024) https://campus.datacamp.com/courses/hypothesis-testing-in-r/non-parametric-tests?ex=10
Show the code
# Omit Non-binary 
selectdata <- subset(selectdata, GENDER != 2)
library(ggplot2) 
GENDER_FEAR_BAR_EFFECTIVENESS<- ggplot(selectdata, aes(x =EFFECT_FEAR_POLICE, fill = GENDER01)) + 
  geom_bar() +
  facet_wrap(~ GENDER01, 
             labeller = as_labeller(c("0"= "Women", "1"= "Men"))) +
  scale_fill_manual(
    values = c("0" = "hotpink", "1" = "darkblue"),
    labels = c("Women","Men")) +
  labs(
    title = "Level of Agreement with Fear-Based Policing Effectiveness by Count (Grouped by Gender)",
    x = "Level of Agreement with Effectiveness of Policing",
    y = "Number of Respondents",
    fill = "Gender"
  ) +
  theme_minimal()
  theme(axis.text.x = element_text(angle = 45, hjust= 1), 
  panel.spacing = unit(1, "lines"))
<theme> List of 2
 $ axis.text.x  : <ggplot2::element_text>
  ..@ family       : NULL
  ..@ face         : NULL
  ..@ italic       : chr NA
  ..@ fontweight   : num NA
  ..@ fontwidth    : num NA
  ..@ colour       : NULL
  ..@ size         : NULL
  ..@ hjust        : num 1
  ..@ vjust        : NULL
  ..@ angle        : num 45
  ..@ lineheight   : NULL
  ..@ margin       : NULL
  ..@ debug        : NULL
  ..@ inherit.blank: logi FALSE
 $ panel.spacing: 'simpleUnit' num 1lines
  ..- attr(*, "unit")= int 3
 @ complete: logi FALSE
 @ validate: logi TRUE
Show the code
  # Print and save to the plots folder
print(GENDER_FEAR_BAR_EFFECTIVENESS)

the faceted bar charts show level of agreeance regarding effectiveness on the x axis and number of respondents on the y axis with the grouping variable being Gender. Women are shown on the left plot in pink while men are displayed in the right plot as blue. The women and men are seperated into two different bar charts side by side to more clearly compare the two genders perceptions on effectiveness of policing in achieving safety and reducing violence.

Figure 4. Bar plot show how women vs. men rated the level of agreeance regarding effectiveness of policing in achieving community safety and reducing violence. Women generally show higher agreement levels than men, while men are skewed more towards lower agreement.
Show the code
ggsave("plotsTEAM/GENDER_FEAR_BAR_EFFECTIVENESS.png", 
       plot = GENDER_FEAR_BAR_EFFECTIVENESS,
       width = 10, height = 8, dpi = 300)

  


 ## explanation: geom_bar was used to create a bar chart. facet_wrap was used to create two bar charts side by side, making for more clear comparison. scale_fill_manual was used to assign different colors to women and men. 
# source: Facets for ggplot2 in R: https://www.datacamp.com/tutorial/facets-ggplot-r?utm_cid=19589720830&utm_aid=192320612808&utm_campaign=230119_1-ps-other~dsa~tofu-tutorial_2-b2c_3-nam_4-prc_5-na_6-na_7-le_8-pdsh-go_9-nb-e_10-na_11-na&utm_loc=9005440-&utm_mtd=-c&utm_kw=&utm_source=google&utm_medium=paid_search&utm_content=ps-other~nam-en~dsa~tofu~tutorial~r&gad_source=1&gad_campaignid=19589720830&gbraid=0AAAAADQ9WsE-qQWqJzrNtLk3a92Tas6fv&gclid=Cj0KCQjw9obIBhCAARIsAGHm1mSIm-RYrKJvBT8eFnXOLvPH0K9Ad_Zrc5-Xa6MAYJXC5SAaWiN1SrYaAsliEALw_wcB

1.4.3 Predictors of Perceived Effectiveness of Violence Prevention Approaches

1.4.3.1 Visualizing Care vs Fear with Growth Mindset

Significant differences between fear-based police interventions, care-based community interventions, and gender from prior Wilcoxon-Mann-Whitney-U tests facilitated further evaluation of relationships between the outcome and predictor variables. Evaluating these associations, the following scatterplot visualizes support for care-based community intervention based on the participant’s degree of growth mindset. Due to the significance of gender from the Wilcoxon-Mann-Whitney-U tests, the following plots include gender as a third variable with best-fit regression lines for each group indicated below.

Show the code
#|label: Visualization-Growth-Mindset-vs-Care-Based-Intervention 
#| fig-cap: Figure 5. Scatter plot and linear regression of support for community care based interventions and level of growth mindset variables. Displays a bivariate relationship with third gender variable.  
#| fig-alt: Higher degrees of growth mindset positively correlating with increased support for care-based community intervention for both men and women at a relatively similar rate.
#| fig-width: 16
#| fig-height: 18


# Omit Non-binary 
selectdata <- subset(selectdata, GENDER != 2)
#Growth Mindset vs Case Based Intervention  with 3rd Gender Variable: change color dots
GROWTH_CARE_SCAT_CARE <- ggplot(selectdata, aes(x = GROWTH, y = EFFECT_CARE_COMM, color = GENDER01))+
  geom_smooth(method = "lm") +
  geom_point(position = position_jitter(width=0.2)) +
   scale_color_manual(
    values = c("0" = "hotpink", "1" = "darkblue"),
    labels = c("0" = "Woman", "1" = "Man")
  ) +  scale_x_continuous(breaks = 0:6, limits = c(2,6.5)) + scale_y_continuous(breaks = 0:6, limits = c(0,6)) +
  theme_bw() +
  scale_x_continuous(
    name = "Agreement with Growth Mindset Statements ",
    breaks = 2:6,
    limits = c(2, 6),
    labels = c(
      "Strongly Disagree",
      "Slightly Disagree",
      "Slightly Agree",
      "Agree",
      "Strongly Agree"
    )
  ) +
  scale_y_continuous(
    name = "Agreed Support for Care Community \n Intervention",
    breaks = 1:6,
    limits = c(2, 6),
    labels = c(
      "Strongly Disagree",
      "Disagree",
      "Slightly Disagree",
      "Slightly Agree",
      "Agree",
      "Strongly Agree"
    )
  ) +
  
  labs(
    title = "Intervention Support vs Growth Mindset: Care-Based",
    x = "Degree of Growth Mindset",
    y = "Support for Care Community Intervention",
    color = "Gender"
    ) +
  
theme(
  legend.position = c(0.8, 0.3),
  plot.title = element_text(size = 25, face = "bold", hjust = 0.5, margin = margin(b = 15)),
  legend.key.size = unit(0.4, "lines"),
  legend.title = element_text(size = 18, face = "bold"),
  legend.text = element_text(size = 12),
  axis.title.x = element_text(size = 18, face = "bold", margin = margin(t = 12)),
  axis.title.y = element_text(size = 18, face = "bold", margin = margin(r = 12)),
  axis.text.x = element_text(size = 18, lineheight = 0.8, angle = 50, hjust = 1, vjust = 1),
  axis.text.y = element_text(size = 18, hjust = 1)
)
Scale for x is already present.
Adding another scale for x, which will replace the existing scale.
Scale for y is already present.
Adding another scale for y, which will replace the existing scale.
Show the code
# Print and save to the plots folder
print(GROWTH_CARE_SCAT_CARE)
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 3 rows containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 14 rows containing missing values or values outside the scale range
(`geom_point()`).

Show the code
ggsave("plotsTEAM/GROWTH_CARE_SCAT_CARE.png", 
       plot = GROWTH_CARE_SCAT_CARE,
       width = 15, height = 14, dpi = 300)
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 3 rows containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 13 rows containing missing values or values outside the scale range
(`geom_point()`).
Show the code
##explanation: Scatterplot evaluating support for community interventions and degree of growth mindset. Higher degrees of growth mindset positively correlating with increased support for care-based community intervention for both men and women at a relatively similar rate 
#source: Visualize data with a scatterplot (2025) https://posit.cloud/learn/recipes/visualize/VisualizeA3,  Ubiqum Code Academy. (2025) https://rstudio-pubs-static.s3.amazonaws.com/337414_ef0db534b06a4232945a5b907cfa871a.html#adding-a-third-variable-in-geom-point, (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/scale_continuous.html

This visualization reveals concurrent higher degrees of growth mindset positively correlating with increased support for care-based community intervention for both men and women at a relatively similar rate (Figure 5). Gender differences are negligible in this association as confidence intervals overlap significantly. Alternatively, evaluating associations between support for fear-based police interventions in comparison to the degree of growth mindset with gender as a third variable is showcased in Figure 6. 

Show the code
#|label: Visualization-Growth-Mindset-vs-Fear-Based-Intervention 
#|fig-cap: Figure 6. Scatter plot and linear regression of support for fear based police based interventions and level of growth mindset variables. Displays a bivariate relationship with third gender variable.  
#| fig-alt: Higher levels of growth mindsets coinciding with lowered support for fear based police interventions. Significant differences exist between women and men as omen surveyed display a significant decrease in support for fear based intervention with increases in growth mindset and men show little to no significant change in support.
#| fig-width: 16
#| fig-height: 18

# Omit Non-binary 
selectdata <- subset(selectdata, GENDER != 2)
#Growth Mindset vs Case Based Intervention  with 3rd Gender Variable: change color dots
GROWTH_CARE_SCAT_FEAR <- ggplot(selectdata, aes(x = GROWTH, y = EFFECT_FEAR_POLICE, color = GENDER01))+
  geom_smooth(method = "lm") +
  geom_point(position = position_jitter(width=0.2)) +
   scale_color_manual(
    values = c("0" = "hotpink", "1" = "darkblue"),
    labels = c("0" = "Woman", "1" = "Man")
  ) +  scale_x_continuous(breaks = 0:6, limits = c(2,6.5)) + scale_y_continuous(breaks = 0:6, limits = c(0,6)) +
  theme_bw() +
  labs(
    title = "Intervention Support vs Growth Mindset: Fear-Based",
    x = "Degree of Growth Mindset",
    y = "Support for FearBased Police Intervention",
    color = "Gender"
    )+  scale_x_continuous(breaks = 0:6, limits = c(2,6.5)) + scale_y_continuous(breaks = 0:6, limits = c(0,6)) +
  theme_bw() +
  scale_x_continuous(
    name = "Agreement with Growth Mindset Statements ",
    breaks = 2:6,
    limits = c(2, 6),
    labels = c(
      "Strongly Disagree",
      "Slightly Disagree",
      "Slightly Agree",
      "Agree",
      "Strongly Agree"
    )
  ) +
  scale_y_continuous(
    name = "Agreed Support for Policing Fear-Based \n Intervention",
    breaks = 1:6,
    limits = c(2, 6),
    labels = c(
      "Strongly Disagree",
      "Disagree",
      "Slightly Disagree",
      "Slightly Agree",
      "Agree",
      "Strongly Agree"
    )
  ) +
  
  labs(
    title = "Intervention Support vs Growth Mindset: Fear-Based",
    x = "Degree of Growth Mindset",
    y = "Support for Fear Policing Intervention",
    color = "Gender"
    ) +
  
theme(
  legend.position = c(0.1, 0.7),
  plot.title = element_text(size = 25, face = "bold", hjust = 0.5, margin = margin(b = 15)),
  legend.key.size = unit(0.4, "lines"),
  legend.title = element_text(size = 18, face = "bold"),
  legend.text = element_text(size = 12),
  axis.title.x = element_text(size = 18, face = "bold", margin = margin(t = 12)),
  axis.title.y = element_text(size = 18, face = "bold", margin = margin(r = 12)),
  axis.text.x = element_text(size = 18, lineheight = 0.8, angle = 50, hjust = 1, vjust = 1),
  axis.text.y = element_text(size = 18, hjust = 1)
)
Scale for x is already present.
Adding another scale for x, which will replace the existing scale.
Scale for y is already present.
Adding another scale for y, which will replace the existing scale.
Scale for x is already present.
Adding another scale for x, which will replace the existing scale.
Scale for y is already present.
Adding another scale for y, which will replace the existing scale.
Show the code
# Print and save to the plots folder
print(GROWTH_CARE_SCAT_FEAR)
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 7 rows containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 16 rows containing missing values or values outside the scale range
(`geom_point()`).

Show the code
ggsave("plotsTEAM/GROWTH_CARE_SCAT_FEAR.png", 
       plot = GROWTH_CARE_SCAT_FEAR,
       width = 15, height = 14, dpi = 300)
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 7 rows containing non-finite outside the scale range (`stat_smooth()`).
Removed 16 rows containing missing values or values outside the scale range
(`geom_point()`).
Show the code
GROWTH_CARE_SCAT_FEAR
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 7 rows containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 18 rows containing missing values or values outside the scale range
(`geom_point()`).

Show the code
##explanation:  Scatter plot and linear regression of support for fear based police based interventions and level of growth mindset variables. Significant differences exist between women and men as omen surveyed display a significant decrease in support for fear based intervention with increases in growth mindset and men show little to no significant change in support. Overall higher levels of growth mindsets coincide with lowered support for fear based police interventions. 
#source: Visualize data with a scatterplot (2025) https://posit.cloud/learn/recipes/visualize/VisualizeA3,  Ubiqum Code Academy. (2025).https://rstudio-pubs-static.s3.amazonaws.com/337414_ef0db534b06a4232945a5b907cfa871a.html#adding-a-third-variable-in-geom-point, (Wickham et al., 2023) https://ggplot2.tidyverse.org/reference/scale_continuous.html

This figure displays higher levels of growth mindsets coinciding with lowered support for fear-based police interventions. Unlike the relationship between gender, growth mindsets, and care-based intervention, Figure 6 highlights significant differences between men and women. Women surveyed display a significant decrease in support for fear-based intervention with increases in growth mindset, whereas overall, men indicate little variation in support as growth mindset increases. While men indicate little variation in degree of support with a slightly positive yet flat regression line, the wide and overlapping confidence intervals suggest gender differences may remain insignificant. Potential gender differences in Figure 6 may be attributed to differences in connotations around policing held by women and men or a variety of beliefs around control elicited by the term ‘policing’.

1.4.3.2 Multiple Linear Regression: Predicting Intervention Support

With significant associations and variable differences indicated in the scatterplot, Wilcoxon-Mann-Whitney-U Testing, subsequent steps include evaluating support for care and fear-based interventions as an outcome of predictor variables. Utilizing the level of safety and trust within one’s community and degree of growth mindset as predictors of support for care vs fear-based intervention requires the use of multiple linear regression testing. The distribution of the datasets was relatively normal without any extreme outliers or skew, as shown in Figures 5 and 6, allowing for multiple linear regressions to be performed. 

First, multiple linear regression modeling predicting support for care-based community violence interventions revealed significant associations between growth mindsets and engagement with care-based interventions. As predictors, perceived community safety and trust are not significant; however, a unit increase in feelings of community safety indicates a 0.17 increase in care-based intervention support (p= 0.369). More significantly, for each unit increase in growth mindset support for care-based community interventions increased by 0.57 with a significant p-value of 0.001. Altogether, about 23.3% of the variation in support for care-based community interventions can be explained by feelings of community safety and growth mindset variables. 

Multiple linear regression testing was also utilized to predict perceived support for fear-based police interventions based on the level of community safety/trust and growth mindset. Regression testing revealed that for each unit increase in feelings of safety and community trust, support of fear-based policing is expected to increase by 0.12 while growth is held constant. However, this value is not statistically significant (p = 0.63) and therefore is inconclusive. Alternatively, for each one-unit increase in growth mindset, support for fear-based approaches to intervention decreases by 0.21, producing another insignificant result (p = 0.36). No significant relationship between predictors and support for fear-based policing interventions exists, as both predictors have p-values > 0.05. Overall, only 1.7% of the variance in support for fear-based policing interventions is explained by community safety and growth mindset predictors. Contrasting significant predictors of support for community-based interventions, this model indicates that support for fear-based policing does not vary significantly in relation to community or growth as predictors of intervention preference. Quantitative modeling and visualizations begin to expose significant predictors of support for community violence intervention that are then explored further through qualitative analysis.

Show the code
library(stats)

#Perform MLR for COMMUNITY 

#Create linear model of values in COMM ALL 
COMMGROWTH.CARE.lm <- lm(EFFECT_CARE_COMM ~ COMMUNITY + GROWTH, data = selectdata)

summary(COMMGROWTH.CARE.lm)

Call:
lm(formula = EFFECT_CARE_COMM ~ COMMUNITY + GROWTH, data = selectdata)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6355 -0.6527  0.1288  0.6359  1.5990 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   1.6480     0.9220   1.787  0.07982 . 
COMMUNITY     0.1663     0.1835   0.906  0.36907   
GROWTH        0.5715     0.1653   3.458  0.00111 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.017 on 51 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.2332,    Adjusted R-squared:  0.2031 
F-statistic: 7.753 on 2 and 51 DF,  p-value: 0.001148
Show the code
##explanation: COMMUNITY safety perceptions and GROWTH mindset as independent predictors of GROWTH MINDSET through a linear model. 
#source:(Keita, 2022) https://www.datacamp.com/tutorial/multiple-linear-regression-r-tutorial 
Show the code
library(stats)

#Perform MLR for FEAR BASED  

#Create linear model of values in COMM GROWTH.FEAR  
COMMGROWTH.FEAR.lm <- lm(EFFECT_FEAR_POLICE ~ COMMUNITY + GROWTH, data = selectdata)

summary(COMMGROWTH.FEAR.lm)

Call:
lm(formula = EFFECT_FEAR_POLICE ~ COMMUNITY + GROWTH, data = selectdata)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.33174 -1.27369 -0.08928  1.12333  2.48647 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   3.5584     1.2634   2.817   0.0068 **
COMMUNITY     0.1229     0.2554   0.481   0.6324   
GROWTH       -0.2117     0.2276  -0.930   0.3564   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.421 on 53 degrees of freedom
Multiple R-squared:  0.01708,   Adjusted R-squared:  -0.02002 
F-statistic: 0.4604 on 2 and 53 DF,  p-value: 0.6336
Show the code
##explanation: COMMUNITY safety perceptions and GROWTH mindset varibles used as independent predictors of support for fear based police interventions through a linear model.
#source:(Keita, 2022) https://www.datacamp.com/tutorial/multiple-linear-regression-r-tutorial 

1.5 Paired Qualitative Analysis

Quantitative analysis was paired with qualitative analysis of responses to open ended questions related to safety preferences and feelings towards ability to change. Qualitative coding through the platform N-vivo revealed respondents favored the use of care based approaches to safety as opposed to fear based frameworks. Response analyses also revealed a clear distinction between fixed and growth mindsets regarding individuals ability to change and the nature of criminality. Acknowledgement of the mixed methods nature of this study provides context for the following sections discussion of study findings, strengths, limitations, and impact.

1.6 Discussion

This study aimed to determine whether Broome County residents preferred a care-based approach or a fear-based approach to achieving community safety based on Zach Norris’ categorization of violence prevention approaches (2021), as well as to ascertain whether these findings could be utilized to predict preferred methods of community violence interventions amongst lay populations. Along with this, this study was able to confirm the existence of both fear-based and care-based methods of intervention, and that there is a clear difference between the two methods. In aiming to identify which variables are most associated with community-based violence prevention and intervention approaches, this study revealed that a growth mindset is predictive of preference for care-based violence interventions. As most Broome County members hold a growth mindset, these findings can be generalized to the greater Broome County population. Quantitative Wilcoxon-Mann-Whitney U and Multiple Linear Regression tests of care-based community interventions revealed that growth mindsets are predictive of preference for community-based violence interventions. Scatter and barplot visualizations supporting these tests reveal similar levels of support for community interventions for both women and men with an increased growth mindset. However, analysis of support for fear-based interventions differs highly by gender. Overall, women are more likely than men to support fear-based interventions, yet as the degree of growth mindset amongst women increases, support for fear-based interventions decreases more significantly than in men. 

A multitude of responses observed in this study confirmed that both a growth and a fixed mindset are utilized by many people, but in different domains (Burnette et al., 2013). Many participants showed a growth mindset when attributing criminal behavior to structural flaws. The second open-ended question provided responses that overall indicated a common growth mindset, and feelings that people can change with the correct and sufficient resources and circumstances. This prompts the general conclusion that many, if not most, Broome County residents hold a growth mindset and believe that character traits are developed as time goes on and through different environments. It is also clear from the variety of response themes that many Broome County residents support a social-ecological model of intervention, with multiple levels of intervention being necessary to fully prevent crime (Sallis & Owen, 2015).

Norris (2021) identified a fear-based model of safety as approaches that rely on an in-group fearing an out-group because the out-group is “dangerous”, providing the increased presence of police officers as an example. Meanwhile, he identified a care-based model of safety as approaches that focus on the promotion of community resources and security, and the prevention of violent situations, which may come in the form of advancing community cohesion. These models of safety offer a lay and novel way to examine approaches to achieving safety, which have started being used in academic literature. A fixed mindset, also known as an entity mindset, is defined as a mindset in which people believe that individuals are born with certain characteristics and traits that will not change. They believe that “dangerous” people are born as such and will remain that way for the entirety of their lives (Burnette et al., 2013). A growth mindset, or an incremental mindset, is defined as a mindset in which people believe that humans are capable of internal change (Burnette et al., 2013). This study aimed to correlate the mindsets of Broome County community members with the extent of their support for community-based violence interventions through an Integrated Behavioral Model. The Integrated Behavioral model encompasses a theory stating that community members’ lay beliefs on community safety are dependent on attitudes towards their community, outlook on the achievability of safety, and subjective norms of their surroundings. While qualitative analysis of fear-based and fixed mindsets indicated the existence of fixed and growth mindsets in Broome County residents as well as fear-based and care-based intervention methods, quantitatively, no prediction between fear-based policing was indicated based on community and growth mindset evaluation of the sampled population. 

1.6.1 Strengths and Limitations

1.6.1.1 Strengths

While extensive evidence of effective approaches to violence intervention exists within current literature, there is a lack of studies examining lay conceptions surrounding the methods of violence intervention that are most effective. This signifies a disconnection between the methods displayed to be effective in intervening violence within research and the public’s perceptions of these intervention methods. This study’s strengths lie within the unique methods utilized and the constructs analyzed. This study includes novel examinations of constructs such as growth and fixed mindsets regarding criminality in both quantitative and qualitative responses. Additionally, the correlation between growth and fixed mindsets and individual beliefs surrounding different conceptions of safety is largely unexplored within current literature, allowing this study to provide novel evidence of the correlation that exists between these two constructs and the extent to which these factors are related to the support an individual exhibits for community-based approaches to violence intervention. This builds upon the limited knowledge surrounding lay perceptions of effective methods of intervening in violence (Ward et al., 2022). Furthermore, existing safety reviews, including Norris’ (2021) theoretical view of safety, are a novel conception of safety; however, they lack any supporting qualitative or quantitative data. Thus, this study provides a mixed-methods perspective that enables a greater understanding of the fear-based and care-based models of safety from a qualitative and quantitative viewpoint. 

1.6.1.2 Limitations

The results of this study should be understood alongside the following limitations: sampling limitations, measurement and construct inconsistencies, and assumptions of utilizing a multiple linear regression model. There was a small sample size, as a total of 180 participants responded to the Qualtrics survey, but 104 responses were excluded because they were incomplete. As a result, there was a sample of 56 to 76 participants who completed half or more of the survey, limiting the extent to which the survey could encompass the views of all Broome County residents. In addition, many of the recruiting events took place on campus, so a majority of the participants are most likely Binghamton University students. Thus, the responses may also not be reflective of the Broome County community. Within the survey, individuals with more opinionated beliefs around safety and community trust may have decided to respond to the survey entirely or may have avoided completing the survey due to strong beliefs or feelings about phrasing or questions. This may have resulted in a more skewed dataset, not representative of a wide range of beliefs. Additionally, respondents may have held response or social desirability bias when responding to the survey questions, believing they were answering in a way that would be viewed favorably by others rather than indicating their true belief. This follows the theory of motivated reasoning, stating that one’s emotions affect how information is processed within that individual (Kunda, 1990). This theory has been linked to politically motivated reasoning in that individuals who encounter information from a political figure will automatically form a response based on their prior internal beliefs (Leeper & Slothuus, 2014). Although the quote included in one of the open-ended questions in this study did not cite President Trump, the language used in the quote may have prompted participants to infer that it was his statement. This may have ultimately led to motivated reasoning in their responses. The study may also have been limited by the constructs and selected measurements. Measures may have failed to capture the key concepts or left room for survey participants to form alternative interpretations of what each measure means. Finally, the assumptions of utilizing a multiple linear regression model may have limited the study data and conclusions that can be drawn from modeling, as a linear model assumes a clear-cut relationship between a predictor and the outcome. However, this may fail to incorporate levels of nuance that exist naturally in perceptions and beliefs from influences outside the evaluated demographics.

1.6.2 Impact and Future Work

In the future, academic literature should adopt a care-based and fear-based safety framework model for categorizing different violence prevention and intervention approaches. This framework will help advance studies focused on approaches based on the growth mindset, and if any other mindsets influence support for these models of safety. The survey also suggested that motivated reasoning may skew a respondent’s true beliefs on a situation, hence the need for further research on more nuanced influences of safety perceptions and mindsets. In these future studies, measures should be developed to capture true opinions rather than opinions influenced by social desirability or strong automatic political judgment. 

Beyond the limitations of this study, a lack of relationship between demographic variables as predictors of community safety beliefs, feelings of trust, and distrust indicates a need for further exploration of what predictors influence safety perceptions. A lack of correlation, as demonstrated in this study, may imply that other existing factors influencing feelings of safety and trust are underrepresented and unexplored in existing research. This may signal a pivot towards exploring new relationships outside of basic demographic categories that may influence an individual’s perceptions. Important next steps, however, may be to verify demographic variables are not significant predictors of safety and trust beliefs with a larger sample size and more validated measures. Beyond confirming the validity of study results, future research may require evaluation of more nuanced influences of safety perceptions, such as familial beliefs, media content consumed, and level of education. Evaluating the driving factors of apathy, lack of care, opinion, and thought related to safety and community trust may also require evaluation in order to devise measures that accurately unveil any existing differences in perceptions of safety and trust. Gaining a greater understanding of what key factors influence safety beliefs and perceptions of trust is key to effectively developing targeted interventions to increase safety and trust within communities. In its entirety, the findings of this study build upon existing understanding of lay conceptions of safety and violence intervention approaches through its support of the idea that possessing a growth mindset is associated with favoring community-based interventions as a preferred method of violence intervention. As such, these results could be utilized to develop future interventions that focus on the promotion of growth mindsets, in tandem with the promotion of community-based interventions.