The INTErventions, Research, and Action in Cities Team (INTERACT) is a national research collaboration of scientists, urban planners, and engaged citizens uncovering how the design of our cities is shaping the health and wellbeing of Canadians (www.teaminteract.ca). INTERACT is conducting longitudinal, mixed-methods natural experiment studies in four Canadian cities, with the aim of providing evidence on the impacts of urban transformations on people’s physical activity, social connectedness, and wellbeing, and inequalities in these outcomes.

The Arbutus Greenway in Vancouver is a 9-km former rail corridor, which is being developed into a continuous walking and cycling corridor connecting South Vancouver to False Creek. Participants who lived in one of the 12 Forward Sortation Area (FSA) within 3 km of the Arbutus Greenway were eligible to participate. Exclusion criteria across all sites were being younger than 18 years old, not being able to read or write English (or English or French in Montreal) well enough to answer an online survey and any intention to move out of the region in the next two years.

Participants were recruited through social media, news media, street and community events outreach, and partner newsletters. Responses were collected between August 26th, 2020 and February 7th, 2021. In Vancouver, 194 returning participants, and 106 new participants completed the Health Questionnaire, for a total of 300 responses.

Section 1: Transportation

What is your main mode of transportation?

#transp_main_mode

var_name <- w2$transp_main_mode2

w2$var_name_f <- recode_factor(var_name, "1" = "Walking / Wheeling (with a mobility assistive device)",  "2" = "Biking", "3"= "Public Transit", "4" = "Car", "5"= "Motorcycle or scooter", "6"= "Other")

var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))

p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPaletteSet) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Walking / Wheeling (with a mobility assistive device) 110 36.67
Biking 49 16.33
Public Transit 26 8.67
Car 111 37.00
Motorcycle or scooter 2 0.67
Other 2 0.67

How much do you enjoy using each transportation mode?

Walking

#preferred_mode_a walking

var_name <- w2$preferred_mode_a2
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))

p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 208 69.33
2 59 19.67
3 19 6.33
4 Not at all 3 1.00
Not applicable 11 3.67

Biking

#preferred_mode_b biking

var_name <- w2$preferred_mode_b
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 115 38.33
2 50 16.67
3 47 15.67
4 Not at all 27 9.00
Not applicable 61 20.33

Public transit

#preferred_mode_c public transit
var_name <- w2$preferred_mode_c
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 14 4.67
2 42 14.00
3 116 38.67
4 Not at all 96 32.00
Not applicable 32 10.67

Car

#preferred_mode_d car
var_name <- w2$preferred_mode_d
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 68 22.67
2 100 33.33
3 95 31.67
4 Not at all 12 4.00
Not applicable 25 8.33

Motorcycle or scooter

#preferred_mode_e motorcycle or scooter
var_name <- w2$preferred_mode_e
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot","2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p) 

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 7 2.33
2 3 1.00
3 3 1.00
4 Not at all 57 19.00
Not applicable 230 76.67

Thinking of how you felt prior to the COVID-19 pandemic, how much did you enjoy using each transportation mode?

walking

#preferred_mode_a walking

var_name <- w2$preferred_mode_prior_a2
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3","4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))

p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 210 70.00
2 59 19.67
3 15 5.00
4 Not at all 3 1.00
Not applicable 13 4.33

biking

#preferred_mode_b biking

var_name <- w2$preferred_mode_prior_b
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3","4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))

p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 118 39.33
2 67 22.33
3 34 11.33
4 Not at all 18 6.00
Not applicable 63 21.00

public transit

#preferred_mode_c public transit
var_name <- w2$preferred_mode_prior_c
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 58 19.33
2 108 36.00
3 72 24.00
4 Not at all 43 14.33
Not applicable 19 6.33

car

#preferred_mode_d car
var_name <- w2$preferred_mode_prior_d
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 74 24.67
2 104 34.67
3 82 27.33
4 Not at all 16 5.33
Not applicable 24 8.00

motorcycle or scooter

#preferred_mode_e motorcycle or scooter
var_name <- w2$preferred_mode_prior_e
w2$var_name_f <- recode_factor(var_name, "1" = "1 A lot", "2" = "2", "3" = "3", "4" = "4 Not at all", "5" = "Not applicable")
var_name_f <- w2$var_name_f

t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            mutate(pct = round(100*n/sum(n),2))


p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Percent") +
      xlab("") +
      ggtitle("") +  
  facet_wrap(~ compare)
plot(p) 

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
1 A lot 6 2
2 3 1
3 3 1
4 Not at all 39 13
Not applicable 249 83

Do you have access to a car?

var_name <- w2$car_access
w2$var_name_f <- recode_factor(var_name, "1" = "Yes", "2" = "No")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))

##### Figure
p <- ggplot(t_1, aes(var_name_f,  y = pct, fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
  geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Yes 265 88.33
No 35 11.67

Do you have access to a bicycle?

#bike_access 

var_name <- w2$bike_access
w2$var_name_f <- recode_factor(var_name, "1" = "Yes", "2" = "No")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))

##### Figure
p <- ggplot(t_1, aes(var_name_f, y= pct, fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Yes 235 78.33
No 65 21.67

On a scale of 1 to 5, with 1 being ‘very safe’ and 5 being ‘very dangerous’, overall, how safe do you think cycling is in your city?

#bike_safety
var_name <- w2$bike_safety
w2$var_name_f <- recode_factor(var_name, "1" = "Very safe", "2" = "Somewhat safe", "3" = "Neither safe nor unsafe", "4" = "Somewhat dangerous", "5" = "Very dangerous", "77" = "I don't know/prefer not to say")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Very safe 50 16.67
Somewhat safe 156 52.00
Neither safe nor unsafe 31 10.33
Somewhat dangerous 58 19.33
Very dangerous 3 1.00
I don’t know/prefer not to say 2 0.67

Have you ever heard of the Arbutus Greenway?

#ag_familiarty 

var_name <- w2$ag_familiarity
w2$var_name_f <- recode_factor(var_name, "1" = "Yes", "2" = "No")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Yes 298 99.33
No 2 0.67

Do you think that the Arbutus Greenway is a good or bad idea for Vancouver? It is a…

var_name <- w2$ag_idea
w2$var_name_f <- recode_factor(var_name, "1" = "Very good idea", "2" = "Somewhat good idea", "3" = "Somewhat bad idea", "4" = "Very bad idea", "77" = "I don't know")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Very good idea 278 92.67
Somewhat good idea 17 5.67
Somewhat bad idea 3 1.00
I don’t know 2 0.67

Have you ever used the Arbutus Greenway?

#ag_used_ever
var_name <- w2$ag_used_ever
w2$var_name_f <- recode_factor(var_name, "1" = "Yes", "2" = "No")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Yes 284 94.67
No 16 5.33

How often do you typically travel by foot along the Arbutus Greenway during each season?

# ag_walk_freq_a
w2$ag_walk_freq2_a[w2$ag_walk_freq2_a==-7] <- NA
w2$ag_walk_freq2_b[w2$ag_walk_freq2_b==-7] <- NA
w2$ag_walk_freq2_c[w2$ag_walk_freq2_c==-7] <- NA
w2$ag_walk_freq2_d[w2$ag_walk_freq2_d==-7] <- NA

fall <- ggplot(w2, aes(x = w2$ag_walk_freq2_a)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#BF5B04") + xlab("Times in the fall") + facet_wrap(~ compare)
winter <- ggplot(w2, aes(x = w2$ag_walk_freq2_b)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#35AAF2") + xlab("Times in the winter") + facet_wrap(~ compare)
spring <- ggplot(w2, aes(x = w2$ag_walk_freq2_c)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#76D24A") + xlab("Times in the spring")+ facet_wrap(~ compare)
summer <- ggplot(w2, aes(x = w2$ag_walk_freq2_d)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#F2B705") + xlab("Times in the summer")+ facet_wrap(~ compare)

grid.arrange(fall,winter,spring,summer)

How often do you typically travel by bicycle along the Arbutus Greenway during each season?

# ag_bike_freq_a

w2$ag_bike_freq_a[w2$ag_bike_freq_a==-7] <- NA
w2$ag_bike_freq_b[w2$ag_bike_freq_b==-7] <- NA
w2$ag_bike_freq_c[w2$ag_bike_freq_c==-7] <- NA
w2$ag_bike_freq_d[w2$ag_bike_freq_d==-7] <- NA

fall <- ggplot(w2, aes(x = w2$ag_bike_freq_a)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#BF5B04") + xlab("Times in the fall")     + facet_wrap(~ compare)
winter <- ggplot(w2, aes(x = w2$ag_bike_freq_b)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#35AAF2") + xlab("Times in the winter")+ facet_wrap(~ compare)
spring <- ggplot(w2, aes(x = w2$ag_bike_freq_c)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#76D24A") + xlab("Times in the spring")+ facet_wrap(~ compare)
summer <- ggplot(w2, aes(x = w2$ag_bike_freq_d)) + geom_histogram (na.rm = TRUE, binwidth = 5, fill="#F2B705") + xlab("Times in the summer")+ facet_wrap(~ compare)


grid.arrange(fall,winter,spring,summer)

How do you usually get to the Arbutus Greenway?

#intercept_ag_mode
w2$intercept_ag_mode2[w2$intercept_ag_mode2==-7] <- NA

var_name <- w2$intercept_ag_mode2
w2$var_name_f <- recode_factor(var_name, "1" = "Walking",  "2" = "Running/Jogging", "3"= "Biking", "4" = "Public Transit", "5"= "Car", "6"= "Motorcycle or scooter", "7" ="Other")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))

##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalettecont) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Walking 148 49.33
Running/Jogging 14 4.67
Biking 105 35.00
Public Transit 3 1.00
Car 9 3.00
Other 5 1.67
NA 16 5.33

What is your usual reason for using the Arbutus Greenway?

# intercept_ag_reason
w2$intercept_ag_reason[w2$intercept_ag_reason==-7] <- NA
var_name <- w2$intercept_ag_reason
w2$var_name_f <- recode_factor(var_name, "1" = "For recreation", "2" = "For transportation", "3" = "Both for recreation and transportation")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))

##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
For recreation 106 35.33
For transportation 35 11.67
Both for recreation and transportation 143 47.67
NA 16 5.33

In your opinion, the maintenance of the Arbutus Greenway is excellent, good, fair, or poor?

## intercept_ag_maintenance
w2$intercept_ag_maintenance[w2$intercept_ag_maintenance==-7] <- NA
var_name <- w2$intercept_ag_maintenance
w2$var_name_f <- recode_factor(var_name, "1" = "Excellent", "2" = "Good", "3" = "Fair", "4" ="Poor", "77" = "I don't know")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Excellent 134 44.67
Good 126 42.00
Fair 20 6.67
Poor 1 0.33
I don’t know 3 1.00
NA 16 5.33

How safe do you feel travelling along the Arbutus Greenway in terms of

safety from traffic?

#intercept_ag_safety_traffic 

w2$intercept_ag_safety_traffic[w2$intercept_ag_safety_traffic==-7] <- NA
var_name <- w2$intercept_ag_safety_traffic
w2$var_name_f <- recode_factor(var_name, "1" = "Very safe", "2" = "Somewhat safe", "3" = "Neither safe nor unsafe", "4" ="Somewhat unsafe", "5" =  "Very unsafe" , "77" = "I don't know")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))

##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Very safe 186 62.00
Somewhat safe 82 27.33
Neither safe nor unsafe 9 3.00
Somewhat unsafe 6 2.00
Very unsafe 1 0.33
NA 16 5.33

personal safety?

#intercept_ag_safety_personal 
w2$intercept_ag_safety_personal[w2$intercept_ag_safety_personal==-7] <- NA
w2$intercept_ag_safety_traffic[w2$intercept_ag_safety_personal==-7] <- NA
var_name <- w2$intercept_ag_safety_personal
w2$var_name_f <- recode_factor(var_name, "1" = "Very safe", "2" = "Somewhat safe", "3" = "Neither safe nor unsafe", "4" ="Somewhat unsafe", "5" =  "Very unsafe" , "77" = "I don't know")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=90, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Very safe 191 63.67
Somewhat safe 81 27.00
Neither safe nor unsafe 7 2.33
Somewhat unsafe 4 1.33
I don’t know 1 0.33
NA 16 5.33

Are you using the Arbutus Greenway (walking, biking, etc.) more, less, or the same since spring 2017?

#intercept_ag_spring

w2$intercept_ag_spring2[w2$intercept_ag_spring2==-7] <- NA

var_name <- w2$intercept_ag_spring2
w2$var_name_f <- recode_factor(var_name, "1" = "More", "2" = "Same", "3" = "Less", "77" = "I don't know")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPalette3) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
More 137 45.67
Same 93 31.00
Less 50 16.67
I don’t know 4 1.33
NA 16 5.33

Do you plan to use the Arbutus Greenway in the future?

# intercept_ag_future
var_name <- w2$intercept_ag_future
w2$var_name_f <- recode_factor(var_name, "1" = "Yes", "2" = "No")
var_name_f <- w2$var_name_f

##### Table
t_1 <- w2 %>%
          group_by(compare, var_name_f) %>%
            dplyr::summarise(n = n()) %>%
            dplyr:: mutate(pct = round(100*n/sum(n),2))


##### Figure
p <- ggplot(t_1, aes(x = var_name_f, y = pct,  fill = var_name_f)) + theme(axis.text.x = element_text(angle=0, vjust = .6)) + 
    geom_bar(stat= "identity") +
  scale_fill_manual(values = INTERACTPaletteYN) +
  guides(fill=FALSE) +
      ylab("Count") +
      xlab("Response") +
  facet_wrap(~ compare)
plot(p)

kable(t_1)  %>%   kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
compare var_name_f n pct
Yes 295 98.33
No 5 1.67

Would any of the following amenities encourage you to use the Arbutus Greenway more? Check ALL that apply.

New participants

*Participants could choose many options. Count is number of times option was selected.

# 1 Recycling or waste receptacles/garbage cans
# 2 Benches
# 3 Bathrooms
# 4 Lighting
# 5 Water fountains
# 6 Picnic areas
# 7 Playgrounds
# 8 Mobi stations
# 9 Public art
# 10    Shady zones
# 99    Other (Please specify)
# -7    Not applicable

#new
intercept_ag_amenities_1 <-   as.numeric(table(new$intercept_ag_amenities_1[new$intercept_ag_amenities_1==1]))
intercept_ag_amenities_2 <-   as.numeric(table(new$intercept_ag_amenities_2[new$intercept_ag_amenities_2==1]))
intercept_ag_amenities_3 <-   as.numeric(table(new$intercept_ag_amenities_3[new$intercept_ag_amenities_3==1]))
intercept_ag_amenities_4 <-   as.numeric(table(new$intercept_ag_amenities_4[new$intercept_ag_amenities_4==1]))
intercept_ag_amenities_5 <-   as.numeric(table(new$intercept_ag_amenities_5[new$intercept_ag_amenities_5==1]))
intercept_ag_amenities_6 <-   as.numeric(table(new$intercept_ag_amenities_6[new$intercept_ag_amenities_6==1]))
intercept_ag_amenities_7 <-   as.numeric(table(new$intercept_ag_amenities_7[new$intercept_ag_amenities_7==1]))
intercept_ag_amenities_8 <-   as.numeric(table(new$intercept_ag_amenities_8[new$intercept_ag_amenities_8==1]))
intercept_ag_amenities_9 <-   as.numeric(table(new$intercept_ag_amenities_9[new$intercept_ag_amenities_9==1]))
intercept_ag_amenities_10 <- as.numeric(table(new$intercept_ag_amenities_10[new$intercept_ag_amenities_10==1]))
intercept_ag_amenities_99 <- as.numeric(table(new$intercept_ag_amenities_99[new$intercept_ag_amenities_99==1]))

amenities_new <- data.frame(Response = c("Recycling or waste receptacles/garbage cans", 
                            "Benches", 
                            "Bathrooms", 
                            "Lighting", 
                            "Water fountains", 
                            "Picnic areas", 
                            "Playgrounds", 
                            "Mobi Stations", 
                            "Public art", 
                            "Shady zones", 
                            "Other"), 
                            Frequency= c(intercept_ag_amenities_1 ,intercept_ag_amenities_2 ,intercept_ag_amenities_3 ,intercept_ag_amenities_4 ,intercept_ag_amenities_5 ,intercept_ag_amenities_6 ,intercept_ag_amenities_7 ,intercept_ag_amenities_8 ,intercept_ag_amenities_9 ,intercept_ag_amenities_10,intercept_ag_amenities_99))
 
kable(amenities_new) %>%  kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Response Frequency
Recycling or waste receptacles/garbage cans 46
Benches 50
Bathrooms 51
Lighting 66
Water fountains 37
Picnic areas 42
Playgrounds 18
Mobi Stations 3
Public art 45
Shady zones 37
Other 15

Returning participants

*Participants could choose many options. Count is number of times option was selected.

#returning

intercept_ag_amenities_1 <-  as.numeric(table(ret$intercept_ag_amenities_1[ret$intercept_ag_amenities_1==1]))
intercept_ag_amenities_2 <-  as.numeric(table(ret$intercept_ag_amenities_2[ret$intercept_ag_amenities_2==1]))
intercept_ag_amenities_3 <-  as.numeric(table(ret$intercept_ag_amenities_3[ret$intercept_ag_amenities_3==1]))
intercept_ag_amenities_4 <-  as.numeric(table(ret$intercept_ag_amenities_4[ret$intercept_ag_amenities_4==1]))
intercept_ag_amenities_5 <-  as.numeric(table(ret$intercept_ag_amenities_5[ret$intercept_ag_amenities_5==1]))
intercept_ag_amenities_6 <-  as.numeric(table(ret$intercept_ag_amenities_6[ret$intercept_ag_amenities_6==1]))
intercept_ag_amenities_7 <-  as.numeric(table(ret$intercept_ag_amenities_7[ret$intercept_ag_amenities_7==1]))
intercept_ag_amenities_8 <-  as.numeric(table(ret$intercept_ag_amenities_8[ret$intercept_ag_amenities_8==1]))
intercept_ag_amenities_9 <-  as.numeric(table(ret$intercept_ag_amenities_9[ret$intercept_ag_amenities_9==1]))
intercept_ag_amenities_10 <- as.numeric(table(ret$intercept_ag_amenities_10[ret$intercept_ag_amenities_10==1]))
intercept_ag_amenities_99 <- as.numeric(table(ret$intercept_ag_amenities_99[ret$intercept_ag_amenities_99==1]))

amenities_ret <- data.frame(Response = c("Recycling or waste receptacles/garbage cans", 
                            "Benches", 
                            "Bathrooms", 
                            "Lighting", 
                            "Water fountains", 
                            "Picnic areas", 
                            "Playgrounds", 
                            "Mobi Stations", 
                            "Public art", 
                            "Shady zones", 
                            "Other"), 
                            Frequency= c(intercept_ag_amenities_1 ,intercept_ag_amenities_2 ,intercept_ag_amenities_3 ,intercept_ag_amenities_4 ,intercept_ag_amenities_5 ,intercept_ag_amenities_6 ,intercept_ag_amenities_7 ,intercept_ag_amenities_8 ,intercept_ag_amenities_9 ,intercept_ag_amenities_10,intercept_ag_amenities_99))
 
kable(amenities_ret) %>%  kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Response Frequency
Recycling or waste receptacles/garbage cans 78
Benches 90
Bathrooms 87
Lighting 93
Water fountains 64
Picnic areas 52
Playgrounds 22
Mobi Stations 12
Public art 61
Shady zones 73
Other 38

Section 2: Physical Activity

During the last 7 days, on how many days did you do vigorous physical activities like heavy lifting, digging, heavy construction, or climbing up stairs as part of your work? Think about only those physical activities that you did for at least 10 minutes at a time.

#work_vigpa

ggplot(w2, aes(x = w2$work_vigpa)) + geom_histogram(na.rm = TRUE, fill = "#1596FF") + xlab("N days vigorous job-related physical activity") + facet_wrap(~ compare)

kable(data.frame(Days = 0:7, N = as.numeric(table(w2$work_vigpa)), Percentage = round(as.numeric(prop.table(table(w2$work_vigpa)))*100,2))) %>% kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Days N Percentage
0 241 80.33
1 17 5.67
2 7 2.33
3 6 2.00
4 9 3.00
5 7 2.33
6 2 0.67
7 11 3.67

How much time did you usually spend on one of those days doing vigorous physical activities as part of your work?

#work_vigpa_freq

w2$work_vigpa_freq[w2$work_vigpa_freq==-7] <- NA

ggplot(w2, aes(x = work_vigpa_freq)) + geom_histogram(na.rm = TRUE, binwidth = 20, fill= "#35AAC2") + xlab("Minutes vigorous job-related physical activity") + facet_wrap(~ compare)

summary(w2$work_vigpa_freq)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00   15.00   60.00   71.69   85.00  480.00     241

During the last 7 days, on how many days did you travel in a motor vehicle like a train, bus, car, or metro?

#travel_motor

ggplot(w2, aes(x = w2$travel_motor)) + geom_histogram(na.rm = TRUE, fill="#1596FF") + xlab("N days") + facet_wrap(~ compare)

kable(data.frame(Days = 0:7, N = as.numeric(table(w2$travel_motor)), Percentage = round(as.numeric(prop.table(table(w2$travel_motor)))*100,2))) %>% kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Days N Percentage
0 38 12.67
1 44 14.67
2 52 17.33
3 43 14.33
4 36 12.00
5 30 10.00
6 22 7.33
7 35 11.67

How much time did you usually spend on one of those days travelling in a train, bus, car, metro, or other kind of motor vehicle?

#travel_motor_freq

w2$travel_motor_freq[w2$travel_motor_freq==-7] <- NA
ggplot(w2, aes(x = w2$travel_motor_freq)) + geom_histogram(na.rm = TRUE, binwidth = 20, fill= "#35AAC2") + xlab("Minutes travel time") + facet_wrap(~ compare)

summary(w2$travel_motor_freq)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00   30.00   40.00   52.62   60.00  600.00      38

During the last 7 days, on how many days did you bicycle for at least 10 minutes at a time to go from place to place?

#travel_bike

ggplot(w2, aes(x = w2$travel_bike)) + geom_histogram(na.rm = TRUE, fill="#1596FF") + xlab("N days")+ facet_wrap(~ compare)

kable(data.frame(Days = 0:7, N = as.numeric(table(w2$travel_bike)), Percentage = round(as.numeric(prop.table(table(w2$travel_bike)))*100,2))) %>% kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Days N Percentage
0 185 61.67
1 33 11.00
2 22 7.33
3 21 7.00
4 16 5.33
5 12 4.00
6 7 2.33
7 4 1.33

How much time did you usually spend on one of those days to bicycle from place to place?

#travel_bike_freq

w2$travel_bike_freq[w2$travel_bike_freq==-7] <- NA
ggplot(w2, aes(x = w2$travel_bike_freq)) + geom_histogram(na.rm = TRUE, binwidth = 20, fill= "#35AAC2") + xlab("Minutes travel time") + facet_wrap(~ compare)

summary(w2$travel_bike_freq)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00   30.00   60.00   55.96   60.00  240.00     185

During the last 7 days, on how many days did you walk for at least 10 minutes at a time to go from place to place?

#travel_walk

ggplot(w2, aes(x = w2$travel_walk)) + geom_histogram(na.rm = TRUE, fill="#1596FF") + xlab("# of days in the last 7 days")+ facet_wrap(~ compare)

kable(data.frame(Days = 0:7, N = as.numeric(table(w2$travel_walk)), Percentage = round(as.numeric(prop.table(table(w2$travel_walk)))*100,2))) %>% kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Days N Percentage
0 23 7.67
1 17 5.67
2 39 13.00
3 43 14.33
4 34 11.33
5 35 11.67
6 23 7.67
7 86 28.67

How much time did you usually spend on one of those days walking from place to place?

#travel_walk_freq

w2$travel_walk_freq[w2$travel_walk_freq==-7] <- NA

ggplot(w2, aes(x = w2$travel_walk_freq)) + geom_histogram(na.rm = TRUE, binwidth = 20, fill= "#35AAC2") + xlab("Minutes travel time") + facet_wrap(~ compare)

summary(w2$travel_walk_freq)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   10.00   30.00   40.00   48.62   60.00  300.00      23

Not counting any walking for transportation that you have already mentioned, during the last 7 days, on how many days did you walk for at least 10 minutes at a time in your leisure time?

#leisure_walk

ggplot(w2, aes(x = w2$leisure_walk)) + geom_histogram(na.rm = TRUE, fill="#1596FF") + xlab("N days")+ facet_wrap(~ compare)

kable(data.frame(Days = 0:7, N = as.numeric(table(w2$leisure_walk)), Percentage = round(as.numeric(prop.table(table(w2$leisure_walk))*100,2)))) %>% kable_styling(bootstrap_options = "striped", full_width = T, position = "left")
Days N Percentage
0 48 16
1 25 8
2 41 14
3 32 11
4 26 9
5 20 7
6 20 7
7 88 29

How much time did you usually spend on one of those days walking in your leisure time?

#leisure_walk_freq

w2$leisure_walk_freq[w2$leisure_walk_freq==-7] <- NA

ggplot(w2, aes(x = w2$leisure_walk_freq)) + geom_histogram(na.rm = TRUE, binwidth = 20, fill= "#35AAC2") + xlab("Minutes leisure time") + facet_wrap(~ compare)