-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcampus.qmd
171 lines (150 loc) · 5.45 KB
/
campus.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
---
title: "Campus Culture"
---
<!-- Setup -->
```{r}
source('setup.R')
```
### Perceptions of Open Source Culture On Campus
**`r round(length(survey_results$QID24[survey_results$QID24 == 'Very valuable']) / nrow(survey_results), 2) * 100`%** of respondents said that having a vibrant open source culture is **"very valuable"**.
```{r}
c1_df <- survey_results |>
mutate(QID4 = ifelse(is.na(QID4), 'Unafilliated', QID4),
QID24 = factor(QID24, levels = c(
'Very valuable',
'Some value',
'Neutral',
'No value'
))) |>
rename(`Respondent Type` = QID4) |>
group_by(QID24, `Respondent Type`) |>
summarise(Count = n(),
Percent = Count / nrow(survey_results))
c2_df <- survey_results |>
mutate(QID4 = ifelse(is.na(QID4), 'Unafilliated', QID4),
QID23 = factor(QID23, levels = c(
'Strongly agree',
'Somewhat agree',
'Neither agree nor disagree',
'Somewhat disagree',
'Strongly disagree'
))) |>
rename(`Respondent Type` = QID4) |>
group_by(QID23, `Respondent Type`) |>
summarise(Count = n(),
Percent = Count / nrow(survey_results))
```
```{r}
c1_df |>
plot_ly(
x = ~ QID24,
y = ~ Percent,
color = ~ `Respondent Type`,
colors = viridis_pal(option = "D")(length(c1_df$`Respondent Type`))
) |>
add_bars() |>
layout(
barmode = 'stack',
plot_bgcolor = background_color,
paper_bgcolor = background_color,
title = paste0('"Do you see value in having a vibrant culture around open source software?"'),
xaxis = list(title = '', tickangle = 25),
yaxis = list(
zerolinecolor = '#ffff',
zerolinewidth = 2,
gridcolor = 'ffff',
tickformat = ".1%"
)
)
```
In comparison, only **`r round(length(survey_results$QID23[survey_results$QID23 %in% c('Strongly agree', 'Somewhat agree')]) / nrow(survey_results), 2) * 100`%** agreed that there is a vibrant open source culture at `r uni_name`.
```{r}
c2_df |>
plot_ly(
x = ~ QID23,
y = ~ Percent,
color = ~ `Respondent Type`,
colors = viridis_pal(option = "D")(length(c1_df$`Respondent Type`))
) |>
add_bars() |>
layout(
barmode = 'stack',
plot_bgcolor = background_color,
paper_bgcolor = background_color,
title = paste0('"', uni_name, ' has a vibrant open source culture"'),
xaxis = list(title = ''),
yaxis = list(
zerolinecolor = '#ffff',
zerolinewidth = 2,
gridcolor = 'ffff',
tickformat = ".1%"
)
)
```
**`r round(length(survey_results$QID19[survey_results$QID19 == 'Yes']) / nrow(survey_results), 2) * 100`%** of respondents agreed that **"it makes sense for the university to contribute to open source software that is vital to its educational and research enterprise"** (`r round(length(survey_results$QID19[survey_results$QID19 == 'Not sure']) / nrow(survey_results), 2) * 100`% were "unsure," and `r round(length(survey_results$QID19[survey_results$QID19 == 'No']) / nrow(survey_results), 2) * 100`% disagreed).
### Open Source Training On Campus
**`r round(length(survey_results$QID25[survey_results$QID25 == 'Yes']) / nrow(survey_results), 2) * 100`%** of respondents said that they have received at least some formal training or education on open source software during their time at `r uni_name`. These respondents were distributed by role and affiliation as below:
::: {.panel-tabset}
```{r}
c3_df <- survey_results |>
mutate(QID4 = ifelse(is.na(QID4), 'Unafilliated', QID4)) |>
rename(`Respondent Type` = QID4) |>
group_by(QID25, `Respondent Type`) |>
summarise(Count = n(),
Percent = Count / nrow(survey_results))
c4_df <- survey_results |>
mutate(QID8 = ifelse(is.na(QID8), 'Unafilliated', QID8)) |>
rename(`Affiliation` = QID8) |>
group_by(QID25, `Affiliation`) |>
summarise(Count = n(),
Percent = Count / nrow(survey_results))
```
### Role
```{r}
c3_df |>
plot_ly(
x = ~ QID25,
y = ~ Percent,
color = ~ `Respondent Type`,
colors = viridis_pal(option = "D")(length(c3_df$`Respondent Type`))
) |>
add_bars() |>
layout(
barmode = 'stack',
plot_bgcolor = background_color,
paper_bgcolor = background_color,
xaxis = list(title = paste0('Have received open source training at ', uni_name)),
yaxis = list(
zerolinecolor = '#ffff',
zerolinewidth = 2,
gridcolor = 'ffff',
tickformat = ".1%"
)
)
```
### Affiliation
```{r}
c4_df |>
plot_ly(
x = ~ QID25,
y = ~ Percent,
color = ~ `Affiliation`,
colors = viridis_pal(option = "D")(length(c4_df$`Affiliation`))
) |>
add_bars() |>
layout(
barmode = 'stack',
plot_bgcolor = background_color,
paper_bgcolor = background_color,
xaxis = list(title = paste0('Have received open source training at ', uni_name)),
yaxis = list(
zerolinecolor = '#ffff',
zerolinewidth = 2,
gridcolor = 'ffff',
tickformat = ".1%"
),
hoverlabel = list(namelength = -1)
)
```
:::
**`r round(length(survey_results$QID28[survey_results$QID28 == 'Yes']) / nrow(survey_results), 2) * 100`%** of respondents said that they "would like to see more training, education, or support for learning how to contribute to open source project" and **`r round(length(survey_results$QID29[survey_results$QID29 == 'Yes']) / nrow(survey_results), 2) * 100`%** of respondents expressed interest in potential open source training sessions and workshops organized by the Open Source Program Office.