Engineering Students - Background Characteristics
# Degree level
studata<-studata%>%
filter(degree>0)%>%
mutate(degree=as.factor(degree))
studata$degree<-recode(studata$degree,
`1`="Bachelor",
`2`="Master",
`3`="Doctorate")
kable(addmargins(table(studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Degree level (n)", align = "lc")
Degree level (n)
Bachelor |
2617 |
Master |
545 |
Doctorate |
283 |
Total |
3445 |
kable(addmargins(round(prop.table(table(studata$degree))*100, 1), FUN = list(Total=sum)), "pandoc",
caption = "Degree level (%)", align = "lc")
Degree level (%)
Bachelor |
76.0 |
Master |
15.8 |
Doctorate |
8.2 |
Total |
100.0 |
|
|
# Gender
studata<-studata%>%
mutate(gender=9)
studata$gender<-ifelse(studata$gender_1==1, 1, studata$gender)
studata$gender<-ifelse(studata$gender_2==1, 0, studata$gender)
studata$gender<-ifelse(studata$gender_3==1 | studata$gender_4==1 | studata$gender_5==1 | studata$gender_6==1, 3, studata$gender)
studata$gender<-ifelse(studata$gender==9, NA, studata$gender)
studata$gender<-recode(studata$gender,
`1`="Male",
`0`="Female",
`3`="Other")
studata$gender<-as.factor(studata$gender)
studata$gender<-ordered(studata$gender, levels=c("Male", "Female", "Other"))
# Total
kable(addmargins(table(studata$gender), FUN = list(Total=sum)), "pandoc",
caption = "Gender (n)", align = "c")
Gender (n)
Male |
1211 |
Female |
993 |
Other |
36 |
Total |
2240 |
tabgen<-table(studata$gender)
kable(addmargins(round(prop.table(tabgen)*100, 1), FUN = list(Total=sum)), "pandoc",
caption = "Gender (%)", align = "c")
Gender (%)
Male |
54.1 |
Female |
44.3 |
Other |
1.6 |
Total |
100.0 |
# By degree
kable(addmargins(table(studata$gender, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Students gender by degree level (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Students gender by degree level (n)
Male |
895 |
200 |
116 |
1211 |
Female |
752 |
144 |
97 |
993 |
Other |
26 |
6 |
4 |
36 |
Total |
1673 |
350 |
217 |
2240 |
tabgen2<-table(studata$gender, studata$degree)
kable(addmargins(round(prop.table(tabgen2, 2)*100, 1), FUN = list(Total=sum), 1), "pandoc",
caption = "Students gender by degree level (n) (%)", align = "c")
Students gender by degree level (n) (%)
Male |
53.5 |
57.1 |
53.5 |
Female |
44.9 |
41.1 |
44.7 |
Other |
1.6 |
1.7 |
1.8 |
Total |
100.0 |
99.9 |
100.0 |
|
|
|
|
# Race and Ethnicity
studata<-studata%>%
mutate(hispanic=ifelse(hisp_1 !=1 & (hisp_2==1 | hisp_3==1 | hisp_4==1 | hisp_5==1), 1, 0))%>%
mutate(nhw=ifelse(hispanic==0 & race_1==1 & race_2==0 & race_3==0 & race_4==0 & race_5==0 & race_6==0, 1, 0),
nhb=ifelse(hispanic==0 & race_2==1 & race_1==0 & race_3==0 & race_4==0 & race_5==0 & race_6==0, 1, 0),
nha=ifelse(hispanic==0 & race_3==1 & race_2==0 & race_1==0 & race_4==0 & race_5==0 & race_6==0, 1, 0),
nhna=ifelse(hispanic==0 & (race_4==1 | race_5==1) & race_1==0 & race_2==0 & race_3==0 & race_6==0, 1, 0),
nho=ifelse(hispanic==0 & race_6==1 & race_2==0 & race_3==0 & race_4==0 & race_5==0 & race_1==0, 1, 0))%>%
mutate(nhm=ifelse(hispanic==0 & (nhw==0 & nha==0 & nhb==0 & nhna==0), 1 , 0))%>%
mutate(raceethn=ifelse(nhw==1, 1, 9),
raceethn=ifelse(nha==1, 2, raceethn),
raceethn=ifelse(hispanic==1, 3, raceethn),
raceethn=ifelse(nhb==1, 4, raceethn),
raceethn=ifelse(nhna==1, 5, raceethn),
raceethn=ifelse(nhm==1, 6, raceethn),
raceethn=ifelse(nho==1, 7, raceethn))
studata$raceethn<-recode(studata$raceethn,
`1`="White, non-Hispanic",
`2`="Asian, non-Hispanic",
`3`="Hispanic",
`4`="Black, non-Hispanic",
`5`="Native American, non-Hispanic",
`6`="Multirace, non-Hispanic",
`7`="Other race/ethnicity")
studata$raceethn<-as.factor(studata$raceethn)
studata$raceethn<-ordered(studata$raceethn, levels=c("White, non-Hispanic", "Asian, non-Hispanic", "Hispanic", "Black, non-Hispanic", "Native American, non-Hispanic", "Multirace, non-Hispanic", "Other race/ethnicity"))
# Total
kable(addmargins(table(studata$raceethn), FUN = list(Total=sum)), "pandoc",
caption = "Students race and ethnicity (n)", align = "lc")
Students race and ethnicity (n)
White, non-Hispanic |
1164 |
Asian, non-Hispanic |
543 |
Hispanic |
316 |
Black, non-Hispanic |
65 |
Native American, non-Hispanic |
8 |
Multirace, non-Hispanic |
108 |
Other race/ethnicity |
52 |
Total |
2256 |
tabrace<-table(studata$raceethn)
kable(addmargins(round(prop.table(tabrace)*100, 1), FUN = list(Total=sum)), "pandoc",
caption = "Students race and ethnicity (%)", align = "lc")
Students race and ethnicity (%)
White, non-Hispanic |
51.6 |
Asian, non-Hispanic |
24.1 |
Hispanic |
14.0 |
Black, non-Hispanic |
2.9 |
Native American, non-Hispanic |
0.4 |
Multirace, non-Hispanic |
4.8 |
Other race/ethnicity |
2.3 |
Total |
100.1 |
# By degree
kable(addmargins(table(studata$raceethn, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Students race and ethnicity by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Students race and ethnicity by degree (n)
White, non-Hispanic |
939 |
101 |
124 |
1164 |
Asian, non-Hispanic |
310 |
180 |
53 |
543 |
Hispanic |
258 |
36 |
22 |
316 |
Black, non-Hispanic |
44 |
12 |
9 |
65 |
Native American, non-Hispanic |
6 |
2 |
0 |
8 |
Multirace, non-Hispanic |
86 |
13 |
9 |
108 |
Other race/ethnicity |
39 |
10 |
3 |
52 |
Total |
1682 |
354 |
220 |
2256 |
tabrace2<-table(studata$raceethn, studata$degree)
kable(addmargins(round(prop.table(tabrace2, 2)*100, 1), FUN = list(Total=sum), 1), "pandoc",
caption = "Students race and ethnicity by degree (%)", align = "c")
Students race and ethnicity by degree (%)
White, non-Hispanic |
55.8 |
28.5 |
56.4 |
Asian, non-Hispanic |
18.4 |
50.8 |
24.1 |
Hispanic |
15.3 |
10.2 |
10.0 |
Black, non-Hispanic |
2.6 |
3.4 |
4.1 |
Native American, non-Hispanic |
0.4 |
0.6 |
0.0 |
Multirace, non-Hispanic |
5.1 |
3.7 |
4.1 |
Other race/ethnicity |
2.3 |
2.8 |
1.4 |
Total |
99.9 |
100.0 |
100.1 |
|
|
|
|
# Age
studata<-studata%>%
mutate(yrbirth=ifelse(age>-3, 2000-age, NA))%>%
mutate(aged=2020-yrbirth)%>%
mutate(aged=as.double(aged))
describe(studata$aged)
describe.by(studata$aged, studata$degree)
##
## Descriptive statistics by group
## group: Bachelor
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 1659 21.39 4.06 21 20.79 1.48 18 100 82 9.89 157.81 0.1
## ------------------------------------------------------------
## group: Master
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 348 26.83 6.38 25 25.62 2.97 18 71 53 2.96 11.91 0.34
## ------------------------------------------------------------
## group: Doctorate
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 212 27.67 4.39 27 27.02 2.97 22 57 35 2.7 11.75 0.3
# Immigration
studata<-studata%>%
mutate(immig=0)
studata$immig<-recode(studata$immistu,
`1`="US citizen",
`2`="Permanent resident",
`3`="Temporary, non-immigrant, student visa holder",
`4`="None of the above")
studata$immig<-ordered(studata$immig, levels = c("US citizen",
"Permanent resident",
"Temporary, non-immigrant, student visa holder",
"None of the above"))
# Total
kable(addmargins(table(studata$immig), FUN = list(Total=sum)), "pandoc",
caption = "Students immigration status (n)", align = "lc")
Students immigration status (n)
US citizen |
1878 |
Permanent resident |
46 |
Temporary, non-immigrant, student visa holder |
285 |
None of the above |
16 |
Total |
2225 |
tabimmst<-table(studata$immig)
kable(round(addmargins(prop.table(tabimmst)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Students immigration status (%)", align = "lc")
Students immigration status (%)
US citizen |
84.4 |
Permanent resident |
2.1 |
Temporary, non-immigrant, student visa holder |
12.8 |
None of the above |
0.7 |
Total |
100.0 |
#By degree
kable(addmargins(table(studata$immig, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Students immigration status by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Students immigration status by degree (n)
US citizen |
1556 |
176 |
146 |
1878 |
Permanent resident |
31 |
11 |
4 |
46 |
Temporary, non-immigrant, student visa holder |
65 |
159 |
61 |
285 |
None of the above |
12 |
3 |
1 |
16 |
Total |
1664 |
349 |
212 |
2225 |
tabimmst2<-table(studata$immig, studata$degree)
kable(round(addmargins(prop.table(tabimmst2, 2)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Students immigration status by degree (%)", align = "c")
Students immigration status by degree (%)
US citizen |
93.5 |
50.4 |
68.9 |
Permanent resident |
1.9 |
3.2 |
1.9 |
Temporary, non-immigrant, student visa holder |
3.9 |
45.6 |
28.8 |
None of the above |
0.7 |
0.9 |
0.5 |
Total |
100.0 |
100.0 |
100.0 |
|
|
|
|
1. How many students plan to enroll in the Fall 2020?
studata<-studata%>%
mutate(fall20=ifelse(enrfall==2, NA, enrfall))
studata$fall20<-recode(studata$fall20,
`1`="I will enroll as planned before the COVID-19 outbreak",
`3`="I will NOT enroll but not because of the COVID-19 outbreak",
`4`="I will NOT enroll because I changed my mind due to COVID-19",
`5`="I have not decided yet")
studata$fall20<-ordered(studata$fall20, levels = c("I will enroll as planned before the COVID-19 outbreak",
"I have not decided yet",
"I will NOT enroll because I changed my mind due to COVID-19",
"I will NOT enroll but not because of the COVID-19 outbreak"))
# Total
kable(addmargins(table(studata$fall20), FUN = list(Total=sum)), "pandoc",
caption = "Decision to enroll in the fall 2020 (n)", align = "lc")
Decision to enroll in the fall 2020 (n)
I will enroll as planned before the COVID-19 outbreak |
2600 |
I have not decided yet |
253 |
I will NOT enroll because I changed my mind due to COVID-19 |
18 |
I will NOT enroll but not because of the COVID-19 outbreak |
26 |
Total |
2897 |
tabfall20<-table(studata$fall20)
kable(round(addmargins(prop.table(tabfall20)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Decision to enroll in the fall 2020 (%)", align = "lc")
Decision to enroll in the fall 2020 (%)
I will enroll as planned before the COVID-19 outbreak |
89.7 |
I have not decided yet |
8.7 |
I will NOT enroll because I changed my mind due to COVID-19 |
0.6 |
I will NOT enroll but not because of the COVID-19 outbreak |
0.9 |
Total |
100.0 |
# By degree - Excluding item 2
kable(addmargins(table(studata$fall20, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Decision to enroll in the fall 2020 by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Decision to enroll in the fall 2020 by degree (n)
I will enroll as planned before the COVID-19 outbreak |
2002 |
357 |
241 |
2600 |
I have not decided yet |
198 |
45 |
10 |
253 |
I will NOT enroll because I changed my mind due to COVID-19 |
12 |
6 |
0 |
18 |
I will NOT enroll but not because of the COVID-19 outbreak |
19 |
4 |
3 |
26 |
Total |
2231 |
412 |
254 |
2897 |
tabfall202<-table(studata$fall20, studata$degree)
kable(round(addmargins(prop.table(tabfall202, 2)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Decision to enroll in the fall 2020 by degree (%)", align = "c")
Decision to enroll in the fall 2020 by degree (%)
I will enroll as planned before the COVID-19 outbreak |
89.7 |
86.7 |
94.9 |
I have not decided yet |
8.9 |
10.9 |
3.9 |
I will NOT enroll because I changed my mind due to COVID-19 |
0.5 |
1.5 |
0.0 |
I will NOT enroll but not because of the COVID-19 outbreak |
0.9 |
1.0 |
1.2 |
Total |
100.0 |
100.0 |
100.0 |
2. How many students delayed their graduation due to the COVID-19 pandemic?
studata<-studata%>%
mutate(delay=if_else(dimpact==1, 1, 0))
studata$delay<-recode(studata$delay, `1`="Yes, COVID-19 outbreak delay mi graduation date", `0`="No, COVID-19 outbreak did not delay mi graduation date")
studata$delay<-ordered(studata$delay, levels = c("Yes, COVID-19 outbreak delay mi graduation date", "No, COVID-19 outbreak did not delay mi graduation date"))
# Total
kable(addmargins(table(studata$delay), FUN = list(Total=sum)), "pandoc",
caption = "Delay graduation date (n)", align = "lc")
Delay graduation date (n)
Yes, COVID-19 outbreak delay mi graduation date |
348 |
No, COVID-19 outbreak did not delay mi graduation date |
2789 |
Total |
3137 |
tab2st<-table(studata$delay)
kable(round(addmargins(prop.table(tab2st)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Delay graduation date (%)", align = "lc")
Delay graduation date (%)
Yes, COVID-19 outbreak delay mi graduation date |
11.1 |
No, COVID-19 outbreak did not delay mi graduation date |
88.9 |
Total |
100.0 |
# By degree
kable(addmargins(table(studata$delay, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Delay graduation date by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Delay graduation date by degree (n)
Yes, COVID-19 outbreak delay mi graduation date |
168 |
81 |
99 |
348 |
No, COVID-19 outbreak did not delay mi graduation date |
2209 |
412 |
168 |
2789 |
Total |
2377 |
493 |
267 |
3137 |
tab2.2st<-table(studata$delay, studata$degree)
kable(round(addmargins(prop.table(tab2.2st, 2)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Delay graduation date by degree (%)", align = "c")
Delay graduation date by degree (%)
Yes, COVID-19 outbreak delay mi graduation date |
7.1 |
16.4 |
37.1 |
No, COVID-19 outbreak did not delay mi graduation date |
92.9 |
83.6 |
62.9 |
Total |
100.0 |
100.0 |
100.0 |
3. What are the reasons for potentially not enrolling in the Fall 2020?
studata$noenroll1<-ifelse(studata$noterl_1==1, 1, 0)
studata$noenroll2<-ifelse(studata$noterl_2==1, 1, 0)
studata$noenroll3<-ifelse(studata$noterl_3==1, 1, 0)
studata$noenroll4<-ifelse(studata$noterl_4==1, 1, 0)
studata$noenroll5<-ifelse(studata$noterl_5==1, 1, 0)
studata$noenroll6<-ifelse(studata$noterl_6==1, 1, 0)
studata$noenroll7<-ifelse(studata$noterl_7==1, 1, 0)
studata$noenroll8<-ifelse(studata$noterl_8==1, 1, 0)
studata$noenroll1<-recode(studata$noenroll1, `1`="Yes", `0`= "No")
studata$noenroll2<-recode(studata$noenroll2, `1`="Yes", `0`= "No")
studata$noenroll3<-recode(studata$noenroll3, `1`="Yes", `0`= "No")
studata$noenroll4<-recode(studata$noenroll4, `1`="Yes", `0`= "No")
studata$noenroll5<-recode(studata$noenroll5, `1`="Yes", `0`= "No")
studata$noenroll6<-recode(studata$noenroll6, `1`="Yes", `0`= "No")
studata$noenroll7<-recode(studata$noenroll7, `1`="Yes", `0`= "No")
studata$noenroll8<-recode(studata$noenroll8, `1`="Yes", `0`= "No")
studata$noenroll1<-as.factor(studata$noenroll1)
studata$noenroll2<-as.factor(studata$noenroll2)
studata$noenroll3<-as.factor(studata$noenroll3)
studata$noenroll4<-as.factor(studata$noenroll4)
studata$noenroll5<-as.factor(studata$noenroll5)
studata$noenroll6<-as.factor(studata$noenroll6)
studata$noenroll7<-as.factor(studata$noenroll7)
studata$noenroll8<-as.factor(studata$noenroll8)
studata$noenroll1<-ordered(studata$noenroll1, levels = c("Yes", "No"))
studata$noenroll2<-ordered(studata$noenroll2, levels = c("Yes", "No"))
studata$noenroll3<-ordered(studata$noenroll3, levels = c("Yes", "No"))
studata$noenroll4<-ordered(studata$noenroll4, levels = c("Yes", "No"))
studata$noenroll5<-ordered(studata$noenroll5, levels = c("Yes", "No"))
studata$noenroll6<-ordered(studata$noenroll6, levels = c("Yes", "No"))
studata$noenroll7<-ordered(studata$noenroll7, levels = c("Yes", "No"))
studata$noenroll8<-ordered(studata$noenroll8, levels = c("Yes", "No"))
# Total
kable(addmargins(table(studata$noenroll1), FUN = list(Total=sum)), "pandoc",
caption = "Risk to my health and safety at the current institution/city (n)", align = "lc")
Risk to my health and safety at the current institution/city (n)
Yes |
105 |
No |
165 |
Total |
270 |
tabnoen1<-table(studata$noenroll1)
kable(round(addmargins(prop.table(tabnoen1)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Risk to my health and safety at the current institution/city (%)", align = "lc")
Risk to my health and safety at the current institution/city (%)
Yes |
38.9 |
No |
61.1 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll2), FUN = list(Total=sum)), "pandoc",
caption = "Loss of income from the current institution/city (n)", align = "lc")
Loss of income from the current institution/city (n)
Yes |
42 |
No |
228 |
Total |
270 |
tabnoen2<-table(studata$noenroll2)
kable(round(addmargins(prop.table(tabnoen2)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Loss of income from the current institution/city (%)", align = "lc")
Loss of income from the current institution/city (%)
Yes |
15.6 |
No |
84.4 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll3), FUN = list(Total=sum)), "pandoc",
caption = "Uncertainty about financial support for the fall semester (n)", align = "lc")
Uncertainty about financial support for the fall semester (n)
Yes |
104 |
No |
166 |
Total |
270 |
tabnoen3<-table(studata$noenroll3)
kable(round(addmargins(prop.table(tabnoen3)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Uncertainty about financial support for the fall semester (%)", align = "lc")
Uncertainty about financial support for the fall semester (%)
Yes |
38.5 |
No |
61.5 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll4), FUN = list(Total=sum)), "pandoc",
caption = "Want to save money (n)", align = "lc")
Want to save money (n)
Yes |
72 |
No |
198 |
Total |
270 |
tabnoen4<-table(studata$noenroll4)
kable(round(addmargins(prop.table(tabnoen4)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Want to save money (%)", align = "lc")
Want to save money (%)
Yes |
26.7 |
No |
73.3 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll5), FUN = list(Total=sum)), "pandoc",
caption = "Will move back to be closer with family (n)", align = "lc")
Will move back to be closer with family (n)
Yes |
12 |
No |
258 |
Total |
270 |
tabnoen5<-table(studata$noenroll5)
kable(round(addmargins(prop.table(tabnoen5)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Will move back to be closer with family (%)", align = "lc")
Will move back to be closer with family (%)
Yes |
4.4 |
No |
95.6 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll6), FUN = list(Total=sum)), "pandoc",
caption = "Will transfer to another institution (n)", align = "lc")
Will transfer to another institution (n)
Yes |
16 |
No |
254 |
Total |
270 |
tabnoen6<-table(studata$noenroll6)
kable(round(addmargins(prop.table(tabnoen6)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Will transfer to another institution (%)", align = "lc")
Will transfer to another institution (%)
Yes |
5.9 |
No |
94.1 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll7), FUN = list(Total=sum)), "pandoc",
caption = "Will transfer to another program (n)", align = "lc")
Will transfer to another program (n)
Yes |
6 |
No |
264 |
Total |
270 |
tabnoen7<-table(studata$noenroll7)
kable(round(addmargins(prop.table(tabnoen7)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Will transfer to another program (%)", align = "lc")
Will transfer to another program (%)
Yes |
2.2 |
No |
97.8 |
Total |
100.0 |
kable(addmargins(table(studata$noenroll8), FUN = list(Total=sum)), "pandoc",
caption = "Other (n)", align = "lc")
Other (n)
Yes |
103 |
No |
167 |
Total |
270 |
tabnoen8<-table(studata$noenroll8)
kable(round(addmargins(prop.table(tabnoen8)*100, FUN = list(Total=sum)), 1), "pandoc",
caption = "Other reason (%)", align = "lc")
Other reason (%)
Yes |
38.1 |
No |
61.9 |
Total |
100.0 |
|
|
4. What is the preferred instruction mode for the Fall 2020?
studata<-studata%>%
mutate(fallopen1=ifelse(is.na(fallopen_1), fallopenr2_1, fallopen_1),
fallopen2=ifelse(is.na(fallopen_2), fallopenr2_2, fallopen_2))
# Recode fallopen variables
studata$fallopen1<-recode(studata$fallopen1, `1`="Face-to-Face", `2`="Online", `3`="Mix Mode")
# Ordered levels
studata$fallopen1<-ordered(studata$fallopen1, levels = c("Face-to-Face", "Online", "Mix Mode"))
# Total - fallopen1
kable(addmargins(table(studata$fallopen1), FUN = list(Total=sum)), "pandoc",
caption = "Preferred approach for Attending classes/seminars (n)", align = "lc")
Preferred approach for Attending classes/seminars (n)
Face-to-Face |
668 |
Online |
536 |
Mix Mode |
1006 |
Total |
2210 |
tabfallopen1<-table(studata$fallopen1)
kable(addmargins(round(prop.table(tabfallopen1)*100, 1), 1, FUN = list(Total=sum)), "pandoc",
caption = "Preferred approach for Attending classes/seminars (%)", align = "lc")
Preferred approach for Attending classes/seminars (%)
Face-to-Face |
30.2 |
Online |
24.3 |
Mix Mode |
45.5 |
Total |
100.0 |
# By degree - fallopen1
kable(addmargins(table(studata$fallopen1, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Preferred approach for Attending classes/seminars by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Preferred approach for Attending classes/seminars by degree (n)
Face-to-Face |
583 |
73 |
12 |
668 |
Online |
301 |
126 |
109 |
536 |
Mix Mode |
767 |
145 |
94 |
1006 |
Total |
1651 |
344 |
215 |
2210 |
tabfallopen1d<-table(studata$fallopen1, studata$degree)
kable(addmargins(round(prop.table(tabfallopen1d, 2)*100, 1), FUN = list(Total=sum), 1), "pandoc",
caption = "Preferred approach for Attending classes/seminars by degree (%)", align = "c")
Preferred approach for Attending classes/seminars by degree (%)
Face-to-Face |
35.3 |
21.2 |
5.6 |
Online |
18.2 |
36.6 |
50.7 |
Mix Mode |
46.5 |
42.2 |
43.7 |
Total |
100.0 |
100.0 |
100.0 |
5. How many months is graduation date delayed due to the COVID-19 pandemic?
studata<-studata%>%
mutate(mdelay=as.factor(dmonth))
studata$mdelay<-recode(studata$mdelay,
`1`="1-3 months",
`2`="4-6 months",
`3`="More than 6 months",
`4`="More than 6 months",
`5`="More than 6 months")
studata$mdelay<-ordered(studata$mdelay, levels = c("1-3 months", "4-6 months", "More than 6 months"))
# Total
kable(addmargins(table(studata$mdelay), FUN = list(Total=sum)), "pandoc",
caption = "Expected months for graduation date (n)", align = "lc")
Expected months for graduation date (n)
1-3 months |
89 |
4-6 months |
165 |
More than 6 months |
82 |
Total |
336 |
tab3st<-table(studata$mdelay)
kable(round(addmargins(prop.table(tab3st)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Expected months for graduation date (%)", align = "lc")
Expected months for graduation date (%)
1-3 months |
26.5 |
4-6 months |
49.1 |
More than 6 months |
24.4 |
Total |
100.0 |
#By degree
kable(addmargins(table(studata$mdelay, studata$degree), FUN = list(Total=sum)), "pandoc",
caption = "Expected months for graduation date by degree (n)", align = "c")
## Margins computed over dimensions
## in the following order:
## 1:
## 2:
Expected months for graduation date by degree (n)
1-3 months |
28 |
27 |
34 |
89 |
4-6 months |
84 |
34 |
47 |
165 |
More than 6 months |
49 |
17 |
16 |
82 |
Total |
161 |
78 |
97 |
336 |
tab3.2st<-table(studata$mdelay, studata$degree)
kable(round(addmargins(prop.table(tab3.2st, 2)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Expected months for graduation date by degree (%)", align = "c")
Expected months for graduation date by degree (%)
1-3 months |
17.4 |
34.6 |
35.1 |
4-6 months |
52.2 |
43.6 |
48.5 |
More than 6 months |
30.4 |
21.8 |
16.5 |
Total |
100.0 |
100.0 |
100.0 |
6. What are the reasons for delayed graduation?
studata$reason1<-ifelse(studata$dreason_1==1, 1, 0)
studata$reason2<-ifelse(studata$dreason_2==1, 1, 0)
studata$reason3<-ifelse(studata$dreason_3==1, 1, 0)
studata$reason4<-ifelse(studata$dreason_4==1, 1, 0)
studata$reason5<-ifelse(studata$dreason_5==1, 1, 0)
studata$reason6<-ifelse(studata$dreason_6==1, 1, 0)
studata$reason7<-ifelse(studata$dreason_7==1, 1, 0)
studata$reason1<-recode(studata$reason1, `1`="Yes", `0`="No")
studata$reason2<-recode(studata$reason2, `1`="Yes", `0`="No")
studata$reason3<-recode(studata$reason3, `1`="Yes", `0`="No")
studata$reason4<-recode(studata$reason4, `1`="Yes", `0`="No")
studata$reason5<-recode(studata$reason5, `1`="Yes", `0`="No")
studata$reason6<-recode(studata$reason6, `1`="Yes", `0`="No")
studata$reason7<-recode(studata$reason7, `1`="Yes", `0`="No")
studata$reason1<-as.factor(studata$reason1)
studata$reason2<-as.factor(studata$reason2)
studata$reason3<-as.factor(studata$reason3)
studata$reason4<-as.factor(studata$reason4)
studata$reason5<-as.factor(studata$reason5)
studata$reason6<-as.factor(studata$reason6)
studata$reason7<-as.factor(studata$reason7)
studata$reason1<-ordered(studata$reason1, levels = c("Yes", `0`="No"))
studata$reason2<-ordered(studata$reason2, levels = c("Yes", `0`="No"))
studata$reason3<-ordered(studata$reason3, levels = c("Yes", `0`="No"))
studata$reason4<-ordered(studata$reason4, levels = c("Yes", `0`="No"))
studata$reason5<-ordered(studata$reason5, levels = c("Yes", `0`="No"))
studata$reason6<-ordered(studata$reason6, levels = c("Yes", `0`="No"))
studata$reason7<-ordered(studata$reason7, levels = c("Yes", `0`="No"))
# Total
kable(addmargins(table(studata$reason1), FUN = list(Total=sum)), "pandoc",
caption = "My coursework or degree required projects have been delayed (n)", align = "lc")
My coursework or degree required projects have been delayed (n)
Yes |
133 |
No |
208 |
Total |
341 |
tabr1<-table(studata$reason1)
kable(round(addmargins(prop.table(tabr1)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My coursework or degree required projects have been delayed (%)", align = "lc")
My coursework or degree required projects have been delayed (%)
Yes |
39 |
No |
61 |
Total |
100 |
kable(addmargins(table(studata$reason2), FUN = list(Total=sum)), "pandoc",
caption = "My access to academic facilities/resources has been restricted (n)", align = "lc")
My access to academic facilities/resources has been restricted (n)
Yes |
208 |
No |
133 |
Total |
341 |
tabr2<-table(studata$reason2)
kable(round(addmargins(prop.table(tabr2)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My access to academic facilities/resources has been restricted (%)", align = "lc")
My access to academic facilities/resources has been restricted (%)
Yes |
61 |
No |
39 |
Total |
100 |
kable(addmargins(table(studata$reason3), FUN = list(Total=sum)), "pandoc",
caption = "My academic activities requiring travel have been canceled/postponed (n)", align = "lc")
My academic activities requiring travel have been canceled/postponed (n)
Yes |
46 |
No |
295 |
Total |
341 |
tabr3<-table(studata$reason3)
kable(round(addmargins(prop.table(tabr3)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My academic activities requiring travel have been canceled/postponed (%)", align = "lc")
My academic activities requiring travel have been canceled/postponed (%)
Yes |
13.5 |
No |
86.5 |
Total |
100.0 |
kable(addmargins(table(studata$reason4), FUN = list(Total=sum)), "pandoc",
caption = "My financial support has become uncertain (n)", align = "lc")
My financial support has become uncertain (n)
Yes |
108 |
No |
233 |
Total |
341 |
tabr4<-table(studata$reason4)
kable(round(addmargins(prop.table(tabr4)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My financial support has become uncertain (%)", align = "lc")
My financial support has become uncertain (%)
Yes |
31.7 |
No |
68.3 |
Total |
100.0 |
kable(addmargins(table(studata$reason5), FUN = list(Total=sum)), "pandoc",
caption = "My physical/mental health has worsened (n)", align = "lc")
My physical/mental health has worsened (n)
Yes |
152 |
No |
189 |
Total |
341 |
tabr5<-table(studata$reason5)
kable(round(addmargins(prop.table(tabr5)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My physical/mental health has worsened (%)", align = "lc")
My physical/mental health has worsened (%)
Yes |
44.6 |
No |
55.4 |
Total |
100.0 |
kable(addmargins(table(studata$reason6), FUN = list(Total=sum)), "pandoc",
caption = "My family responsibility has become a serious challenge (n)", align = "lc")
My family responsibility has become a serious challenge (n)
Yes |
96 |
No |
245 |
Total |
341 |
tabr6<-table(studata$reason6)
kable(round(addmargins(prop.table(tabr6)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "My family responsibility has become a serious challenge (%)", align = "lc")
My family responsibility has become a serious challenge (%)
Yes |
28.2 |
No |
71.8 |
Total |
100.0 |
kable(addmargins(table(studata$reason7), FUN = list(Total=sum)), "pandoc",
caption = "Other reason (n)", align = "lc")
Other reason (n)
Yes |
35 |
No |
306 |
Total |
341 |
tabr7<-table(studata$reason7)
kable(round(addmargins(prop.table(tabr7)*100, 1, FUN = list(Total=sum)), 1), "pandoc",
caption = "Other reason (%)", align = "lc")
Other reason (%)
Yes |
10.3 |
No |
89.7 |
Total |
100.0 |