Load packages, import Excel file, skip first line, rename data file, convert to tibble, clean up variable names This gives us a data frame with 1714 observations of 73 variable
library(tidyverse)
library(lubridate)
library(janitor)
library(readxl)
library(rmarkdown)
library(readxl)
ep_data <- read_excel("RVTICN_EP_data.xlsx",
skip = 1)
ep_data <- ep_data %>%
as_tibble(ep_data) %>%
clean_names()
ep_data
## # A tibble: 1,714 x 74
## session created modified ended expired ep_what ep_what_other teacher
## <chr> <chr> <chr> <chr> <lgl> <chr> <lgl> <dbl>
## 1 <NA> 2023-01~ <NA> <NA> NA <NA> NA NA
## 2 okSk8ugA7x7LS~ 2023-01~ 2023-02-~ <NA> NA 5, 10 NA NA
## 3 <NA> 2023-01~ <NA> <NA> NA <NA> NA NA
## 4 zanyTortoiseX~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 5 darkEelXXXn1b~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 6 <NA> 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 7 jwfpui27QyMPI~ 2023-01~ <NA> <NA> NA <NA> NA NA
## 8 UfKwkbNB1UQO_~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 9 4XFTbS1lynxtw~ 2023-01~ <NA> <NA> NA <NA> NA NA
## 10 -E0cUzh4UJQpw~ 2023-01~ <NA> <NA> NA <NA> NA NA
## # ... with 1,704 more rows, and 66 more variables: teacher_role <dbl>,
## # teacher_role_other <chr>, teacher_center <dbl>, teacher_center_other <chr>,
## # teacher_age <chr>, teacher_suspended <dbl>, teacher_suspended_times <dbl>,
## # reasons_suspended <chr>, teacher_suspended_steps <chr>,
## # teacher_suspended_steps_other <lgl>, teacher_expelled <dbl>,
## # teacher_times_expelled <dbl>, reasons_expelled <chr>,
## # teacher_expelled_steps <chr>, teacher_expelled_steps_other <lgl>, ...
Drop rows with data missing in the session or modified column This gives us a data frame with 94 observations of 73 variables
ep_data <-ep_data %>%
drop_na(session, modified)
ep_data
## # A tibble: 94 x 74
## session created modified ended expired ep_what ep_what_other teacher
## <chr> <chr> <chr> <chr> <lgl> <chr> <lgl> <dbl>
## 1 okSk8ugA7x7L~ 2023-01~ 2023-02-~ <NA> NA 5, 10 NA NA
## 2 zanyTortoise~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 3 darkEelXXXn1~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 4 UfKwkbNB1UQO~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 5 Q13gEgNnVlr2~ 2023-02~ 2023-02-~ <NA> NA 13.0 NA 1
## 6 whkMSapD6z3Q~ 2023-02~ 2023-02-~ 2023-~ NA <NA> NA 1
## 7 0a_xbAPNdpM-~ 2023-02~ 2023-02-~ <NA> NA <NA> NA NA
## 8 8HbVA9v6BS98~ 2023-03~ 2023-03-~ <NA> NA <NA> NA NA
## 9 0DmnsxoDUAoU~ 2023-03~ 2023-03-~ <NA> NA <NA> NA NA
## 10 LyA6W1isX5jE~ 2023-03~ 2023-03-~ <NA> NA <NA> NA NA
## # ... with 84 more rows, and 66 more variables: teacher_role <dbl>,
## # teacher_role_other <chr>, teacher_center <dbl>, teacher_center_other <chr>,
## # teacher_age <chr>, teacher_suspended <dbl>, teacher_suspended_times <dbl>,
## # reasons_suspended <chr>, teacher_suspended_steps <chr>,
## # teacher_suspended_steps_other <lgl>, teacher_expelled <dbl>,
## # teacher_times_expelled <dbl>, reasons_expelled <chr>,
## # teacher_expelled_steps <chr>, teacher_expelled_steps_other <lgl>, ...
Create factor variables with plan English responses, re-level factors into normal order. This gives us a data frame with 94 observations of 100 variables
ep_data <- ep_data %>%
mutate(ep_role_f = case_when(teacher == 1 ~ "Teacher",
ep_child == 1 ~ "Caregiver",
ep_self == 1 ~ "Self",
TRUE ~ "No role specified"))|>
mutate(ep_role_f =factor(ep_role_f)) |>
mutate(ep_role_f = fct_relevel( ep_role_f, 'Teacher','Caregiver','Self', 'No role specified')) |>
mutate(zip = case_when(zip_teach >= 1 ~ zip_teach,
zip_child >= 1 ~ zip_child,
zip_adult >= 1 ~ zip_adult,
TRUE ~ 0))|>
mutate(role_f = case_when(teacher_role == 1 ~ "Aid or Assistant",
teacher_role == 2 ~ "Teacher",
teacher_role == 3 ~ "Director",
teacher_role == 4 ~ "Other"))|>
mutate(role_f =factor(role_f)) |>
mutate(role_f = fct_relevel( role_f, 'Director','Teacher','Aid or Assistant', 'Other')) |>
mutate(age_cat_1 = case_when(teacher_age == 1 ~ 1,
teacher_age == "1, 2" ~ 1,
teacher_age == "1, 2, 3" ~ 1))|>
mutate(age_cat_2 = case_when (teacher_age == 2 ~ 1,
teacher_age == "1, 2" ~ 1,
teacher_age == "1, 2, 3" ~ 1,
teacher_age == "2, 3" ~ 1,
teacher_age == "2, 3, 4" ~ 1))|>
mutate(age_cat_3 = case_when(teacher_age == 3 ~ 1,
teacher_age == "1, 2, 3" ~ 1,
teacher_age == "2, 3" ~ 1,
teacher_age == "2, 3, 4" ~ 1,
teacher_age == "3, 4" ~ 1))|>
mutate(age_cat_4 = case_when(teacher_age == 4 ~ 1,
teacher_age == "2, 3, 4" ~ 1,
teacher_age == "3, 4" ~ 1))|>
mutate(center_f = case_when(teacher_center == 1 ~ "Headstart",
teacher_center == 2 ~ "Private Childcare",
teacher_center == 3 ~ "Family Day Home",
teacher_center == 4 ~ "VA Preschool Initiative",
teacher_center == 5 ~ "Other"))|>
mutate(center_f =factor(center_f)) |>
mutate(center_f = fct_relevel( center_f, 'VA Preschool Initiative','Headstart','Private Childcare', 'Family Day Home', 'Other')) |>
mutate(teacher_suspended_f = case_when(teacher_suspended == 1 ~ "Yes",
teacher_suspended == 2 ~ "No"))|>
mutate(teacher_suspended_f =factor(teacher_suspended_f)) |>
mutate(teacher_suspended_f = fct_relevel( teacher_suspended_f, 'Yes','No')) |>
mutate(teacher_exp_f = case_when (years_experience == 1 ~ "Less Than 1 Year",
years_experience == 2 ~ "1-3 Years",
years_experience == 3 ~ "4-5 Years",
years_experience == 4 ~ "Over 5 Years"))|>
mutate(teacher_exp_f =factor(teacher_exp_f)) |>
mutate(teacher_exp_f = fct_relevel(teacher_exp_f, 'Less Than 1 Year','1-3 Years', '4-5 Years', 'Over 5 Years')) |>
mutate(approve_f = case_when(teacher_director_approve == 1 ~ "Suspensions",
teacher_director_approve == 2 ~ "Expulsions",
teacher_director_approve == "1, 2" ~ "Both",
teacher_director_approve == 3 ~ "Neither",
teacher_director_approve == 4 ~ "Not Sure"))|>
mutate(approve_f =factor(approve_f)) |>
mutate(approve_f = fct_relevel(approve_f, 'Suspensions','Expulsions', 'Both', 'Neither', 'Not Sure')) |>
mutate(training_f = case_when(last_training == 1 ~ "Never",
last_training ==2 ~ " Within the last 12 months",
last_training == 3 ~ "Within the last 2 years",
last_training == 4 ~ "Within the last 5 years",
last_training == 5 ~ "More than 5 years ago"))|>
mutate(training_f =factor(training_f)) |>
mutate(training_f = fct_relevel(training_f, 'Never','Within the last 12 months"', 'Within the last 2 years', 'Within the last 5 years', 'More than 5 years ago')) |>
mutate(teacher_suspended_f = case_when(teacher_suspended == 1 ~ "Yes",
teacher_suspended == 2 ~ "No"))|>
mutate(t_suspended_times_f = case_when(teacher_suspended_times == 1 ~ "One time",
teacher_suspended_times == 2 ~ "Two or three times",
teacher_suspended_times == 3 ~ "Four or five times",
teacher_suspended_times == 4 ~ "More than five times"))|>
mutate(t_suspended_times_f =factor(t_suspended_times_f)) |>
mutate(t_suspended_times_f = fct_relevel(t_suspended_times_f, 'One time','Two or three times', 'Four or five times', 'More than five times')) |>
mutate(teacher_suspended_steps_2 = case_when(str_detect(teacher_suspended_steps, "2") ~ 1))|>
mutate(teacher_suspended_steps_3 = case_when(str_detect(teacher_suspended_steps, "3") ~ 1))|>
mutate(teacher_suspended_steps_4 = case_when(str_detect(teacher_suspended_steps, "4") ~ 1))|>
mutate(teacher_suspended_steps_5 = case_when(str_detect(teacher_suspended_steps, "5") ~ 1))|>
mutate(teacher_suspended_steps_6 = case_when(str_detect(teacher_suspended_steps, "6") ~ 1))|>
mutate(teacher_expelled_f = case_when(teacher_expelled == 1 ~ "Yes",
teacher_expelled == 2 ~ "No"))|>
mutate(t_expelled_times_f = case_when(teacher_times_expelled == 1 ~ "One Time",
teacher_times_expelled == 2 ~ "Two or three times",
teacher_times_expelled == 3 ~ "Four or five times",
teacher_times_expelled == 4 ~ "More than five times"))|>
mutate(t_expelled_times_f =factor(t_expelled_times_f)) |>
mutate(t_expelled_times_f = fct_relevel(t_expelled_times_f, 'One time','Two or three times', 'Four or five times', 'More than five times')) |>
mutate(teacher_expelled_steps_1 = case_when(str_detect(teacher_expelled_steps, "1") ~ 1))|>
mutate(teacher_expelled_steps_2 = case_when(str_detect(teacher_expelled_steps, "2") ~ 1))|>
mutate(teacher_expelled_steps_3 = case_when(str_detect(teacher_expelled_steps, "3") ~ 1))|>
mutate(teacher_expelled_steps_4 = case_when(str_detect(teacher_expelled_steps, "4") ~ 1))|>
mutate(teacher_expelled_steps_5 = case_when(str_detect(teacher_expelled_steps, "5") ~ 1))|>
mutate(teacher_expelled_steps_6 = case_when(str_detect(teacher_expelled_steps, "6") ~ 1))
head(ep_data)
## # A tibble: 6 x 100
## session created modified ended expired ep_what ep_what_other teacher
## <chr> <chr> <chr> <chr> <lgl> <chr> <lgl> <dbl>
## 1 okSk8ugA7x7LS~ 2023-01~ 2023-02-~ <NA> NA 5, 10 NA NA
## 2 zanyTortoiseX~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 3 darkEelXXXn1b~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 4 UfKwkbNB1UQO_~ 2023-01~ 2023-01-~ <NA> NA <NA> NA NA
## 5 Q13gEgNnVlr2f~ 2023-02~ 2023-02-~ <NA> NA 13.0 NA 1
## 6 whkMSapD6z3Qn~ 2023-02~ 2023-02-~ 2023-~ NA <NA> NA 1
## # ... with 92 more variables: teacher_role <dbl>, teacher_role_other <chr>,
## # teacher_center <dbl>, teacher_center_other <chr>, teacher_age <chr>,
## # teacher_suspended <dbl>, teacher_suspended_times <dbl>,
## # reasons_suspended <chr>, teacher_suspended_steps <chr>,
## # teacher_suspended_steps_other <lgl>, teacher_expelled <dbl>,
## # teacher_times_expelled <dbl>, reasons_expelled <chr>,
## # teacher_expelled_steps <chr>, teacher_expelled_steps_other <lgl>, ...
library(gt)
library(gtsummary)
# table
sum_role_f <- ep_data |>
group_by(ep_role_f) |>
select(ep_role_f, session) |>
summarise(n = n_distinct(session))
sum_role_f
## # A tibble: 4 x 2
## ep_role_f n
## <fct> <int>
## 1 Teacher 18
## 2 Caregiver 20
## 3 Self 1
## 4 No role specified 55
# graph
ep_data_na <- ep_data |>
drop_na(ep_role_f)
sum_role_f_g <- ggplot(data = ep_data_na, aes(x = ep_role_f)) +
geom_bar(colour="black", fill="#DD8888", width=.8,stat="count") +
xlab("Participant Role") + ylab("Count") +
ggtitle("")
sum_role_f_g
#table
sum_age_cat <- ep_data |>
filter(ep_role_f == "Teacher")|>
select(age_cat_1, age_cat_2, age_cat_3, age_cat_4)|>
tbl_summary(missing = "no",
label = list(age_cat_1 = "0 - 2 Years",
age_cat_2 = "3 - 4 Years",
age_cat_3 = "4 - 5 Years",
age_cat_4 = "6 - 12 Years"),
statistic = list(all_continuous() ~ "{n}"))
sum_age_cat
| Characteristic | N = 181 |
|---|---|
| 0 - 2 Years | 3 (100%) |
| 3 - 4 Years | 5 (100%) |
| 4 - 5 Years | 4 (100%) |
| 6 - 12 Years | 2 (100%) |
|
1
n (%)
|
|
#table
ep_teacher <- ep_data |>
filter(ep_role_f == "Teacher")|>
select(role_f, center_f, teacher_exp_f, training_f, approve_f, zip)|>
tbl_summary(missing = "no",
label = list(role_f ~ "Your Role",
center_f ~ "Type of Center",
teacher_exp_f ~ "Teacher Experience",
approve_f ~ "Director approval required for suspensions or expulsions",
training_f ~ "When was the last time you had training in behavior management",
zip ~ "Zipcode"))
ep_teacher
| Characteristic | N = 181 |
|---|---|
| Your Role | |
| Director | 4 (25%) |
| Teacher | 9 (56%) |
| Aid or Assistant | 1 (6.2%) |
| Other | 2 (12%) |
| Type of Center | |
| VA Preschool Initiative | 2 (12%) |
| Headstart | 2 (12%) |
| Private Childcare | 1 (6.2%) |
| Other | 11 (69%) |
| Teacher Experience | |
| 1-3 Years | 1 (7.1%) |
| Over 5 Years | 13 (93%) |
| When was the last time you had training in behavior management | |
| Never | 1 (7.1%) |
| Within the last 2 years | 1 (7.1%) |
| Within the last 5 years | 2 (14%) |
| Within the last 12 months | 10 (71%) |
| Director approval required for suspensions or expulsions | |
| Both | 8 (100%) |
| Zipcode | |
| 0 | 5 (28%) |
| 24015 | 1 (5.6%) |
| 24016 | 3 (17%) |
| 24017 | 1 (5.6%) |
| 24019 | 2 (11%) |
| 24151 | 1 (5.6%) |
| 24153 | 2 (11%) |
| 24450 | 2 (11%) |
| 33030 | 1 (5.6%) |
|
1
n (%)
|
|
#table
sum_teacher_suspended_f <- ep_data |>
filter(ep_role_f == "Teacher")|>
drop_na(teacher_suspended_f)|>
select(teacher_suspended_f)|>
tbl_summary(missing = "no",
label = list(teacher_suspended_f ~ "I have suspended a student this year"))|>
modify_header(label ~ "In the past year, has a child in your class been suspended?")
sum_teacher_suspended_f
| In the past year, has a child in your class been suspended? | N = 151 |
|---|---|
| I have suspended a student this year | 8 (53%) |
|
1
n (%)
|
|
#table
sum_t_suspended_times_f <- ep_data |>
filter(ep_role_f == "Teacher")|>
drop_na(t_suspended_times_f)|>
select(t_suspended_times_f)|>
tbl_summary()|>
modify_header(label ~ "In the past year, how many times has a child in your class been suspended?")
sum_t_suspended_times_f
| In the past year, how many times has a child in your class been suspended? | N = 81 |
|---|---|
| t_suspended_times_f | |
| One time | 1 (12%) |
| Four or five times | 1 (12%) |
| More than five times | 6 (75%) |
|
1
n (%)
|
|
# graph
ep_data_na <- ep_data |>
drop_na(t_suspended_times_f)
sum_t_suspended_times_f_g <- ggplot(data = ep_data_na, aes(x = t_suspended_times_f)) +
geom_bar(colour="black", fill="#DD8888", width=.8,stat="count") +
xlab("In the past year, how many times has a child in your class been suspended") + ylab("Count") +
ggtitle("")
sum_t_suspended_times_f_g
# table
sum_reasons_suspended <- ep_data |>
filter(ep_role_f == "Teacher")|>
drop_na(reasons_suspended)|>
select(reasons_suspended)|>
tbl_summary()|>
modify_header(label ~ "What are the reasons that a child has been suspended?")
sum_reasons_suspended
| What are the reasons that a child has been suspended? | N = 81 |
|---|---|
| reasons_suspended | |
| Aggression to others or property | 1 (12%) |
| Aggression toward peers or staff, eloping, non-compliance | 1 (12%) |
| choking a classmate | 1 (12%) |
| Physical aggression towards peers (hitting, pushing, kicking), throwing objects towards peers, continuous disruptive behaviors, safety concerns (These behaviors usually result in a temporary removal from the class, not suspension) | 1 (12%) |
| Regulate, reset | 1 (12%) |
| repetitive violent and/or unsafe behaviors such as kitting, kicking, biting, throwing things, destroying things, running away from staff, etc that the child is doing on a consistent basis. | 1 (12%) |
| Unsafe behavior for the child and/or the classmates | 1 (12%) |
| Violence towards self or others in the class, potential harmful situations involving student and/or others and/or myself | 1 (12%) |
|
1
n (%)
|
|
sum_t_suspended_steps <- ep_data |>
filter(ep_role_f == "Teacher")|>
select(teacher_suspended_steps_2,teacher_suspended_steps_3, teacher_suspended_steps_4, teacher_suspended_steps_5, teacher_suspended_steps_6)|>
tbl_summary(missing = "no",
label = list(teacher_suspended_steps_2 ~ "Note sent home",
teacher_suspended_steps_3 ~ "Phone call home",
teacher_suspended_steps_4 ~ "Parent-teacher conference",
teacher_suspended_steps_5 ~ "Referral to therapy or other services",
teacher_suspended_steps_6 ~ "Other"))|>
modify_header(label ~ "What steps were taken to prevent the child from being suspended?")
sum_t_suspended_steps
| What steps were taken to prevent the child from being suspended? | N = 181 |
|---|---|
| Note sent home | 5 (100%) |
| Phone call home | 7 (100%) |
| Parent-teacher conference | 7 (100%) |
| Referral to therapy or other services | 7 (100%) |
| Other | 2 (100%) |
|
1
n (%)
|
|
#table
sum_t_expelled <- ep_data|>
filter(ep_role_f == "Teacher")|>
select(teacher_expelled_f, t_expelled_times_f, reasons_expelled)|>
tbl_summary(missing = "no",
label = list(teacher_expelled_f ~ "I have expelled a student this year",
t_expelled_times_f ~ "How many times have you expelled a student this year",
reasons_expelled ~ "Reasons for expulsion"))
sum_t_expelled
| Characteristic | N = 181 |
|---|---|
| I have expelled a student this year | 1 (7.1%) |
| How many times have you expelled a student this year | |
| One Time | 1 (100%) |
| Reasons for expulsion | |
| Threatening to violently harm students and staff in detail after a history of violence. | 1 (100%) |
|
1
n (%)
|
|
sum_t_expelled_steps <- ep_data |>
filter(ep_role_f == "Teacher") |>
select(teacher_expelled_steps_2, teacher_expelled_steps_3, teacher_expelled_steps_4, teacher_expelled_steps_5, teacher_expelled_steps_6)|>
tbl_summary(missing = "no",
label = list(teacher_expelled_steps_2 ~ "Note sent home",
teacher_expelled_steps_3 ~ "Phone call home",
teacher_expelled_steps_4 ~ "Parent-teacher conference",
teacher_expelled_steps_5 ~ "Referral to therapy or other services",
teacher_expelled_steps_6 ~ "Other"))|>
modify_header(label ~ "What steps were taken to preven this child from being expelled")
sum_t_expelled_steps
| What steps were taken to preven this child from being expelled | N = 181 |
|---|---|
| Note sent home | NA (NA, NA) |
| Phone call home | 1 (100%) |
| Parent-teacher conference | 1 (100%) |
| Referral to therapy or other services | 1 (100%) |
| Other | 1 (100%) |
|
1
Median (IQR); n (%)
|
|
sum_t_responses <- ep_data |>
filter(ep_role_f == "Teacher")|>
select(teacher_support)|>
tbl_summary(missing = "no")|>
modify_header(label ~ "How do you feel you can be better supported to prevent children in your classroom from suspended, expelled, removed from class, or asked not to return?")
sum_t_responses
| How do you feel you can be better supported to prevent children in your classroom from suspended, expelled, removed from class, or asked not to return? | N = 181 |
|---|---|
| teacher_support | |
| Additional training or support for teachers | 1 (8.3%) |
| Behavior intervention training | 1 (8.3%) |
| EHS/HS here were I work, Children are never suspended or expelled, We try to connect with the child someway, to help them understand what behaviors are exceptable, when they have big feelings, we may call in extra staff, so the teacher can work one on one with the child having a hard time, to help them calm down. | 1 (8.3%) |
| Fostering of parent-teacher relationships and support for the classroom. Many Teachers (certainly not all!)in child care settings are not as well-trained or as invested in the children’s education. There are less requirements of daycare teachers and they are not compensated very well; therefore, the quality of teachers is very limited and the turnover rate is very high. If we are going to require ore if teachers than we need to compensate them for their qualifications. This has been an ongoing issue and it’s getting worse. The other issue that never seems to be directly addressed is that children are way more needy today and it’s my opinion that this is a reflection of the broken family; not broken teachers. | 1 (8.3%) |
| I would like better training on what it means to have a trauma-informed school. What practices can be put into place to better meet the needs of all students in my classroom? One of the major challenges seems to be a lack of human resources. If I have a child whose behavior is escalating, how do I help them regulate while still teaching the rest of my class? How can I best help the students who need help without feeling like I have nothing left in the tank at the end of the day? It seems like trauma-informed practices need to extend outside of a single classroom. At the very least, the administration and a small team of people need to be on board. It feels like we need to start with training that would help us have a mindset shift as educators. So often, I hear words like "coddling" or "letting them get away with things" when trauma-informed practices are implemented. Sometimes it also feels like we know what we should not do (yell, punish) but we don’t know what to do instead. I would also love to have more professional counselors in our schools who are available to meet the mental health needs of our students. Funding is often the biggest barrier to providing these resources to our students. | 1 (8.3%) |
| Mandatory parent education classes for all children enrolled | 1 (8.3%) |
| More mental health experts such as counselors, social workers, and psychologists in schools who are equipped to provide services to students and families in a more consistent and timely manner. | 1 (8.3%) |
| NA | 1 (8.3%) |
| Parents who take our policies seriously. Staff who are better equipped to handle difficult behaviors. (experience, less roll-over, trainings, etc.) | 1 (8.3%) |
| restorative practices - although I have no time to lead or provide that service because I have so many other students to teach | 1 (8.3%) |
| Support in the classroom to help deal with the challenging behaviors. Training in safe practices to keep all parties safe. More realistic trainings that actually are based on the evolution of what challenging behaviors have become. | 1 (8.3%) |
| Training, policy change | 1 (8.3%) |
|
1
n (%)
|
|
library(writexl)
sum_role_f_tib <- sum_role_f|>
as_tibble()
sum_age_cat_tib <- sum_age_cat |>
as_tibble()
ep_teacher_tib <- ep_teacher |>
as_tibble()
sum_teacher_suspended_f_tib <- sum_teacher_suspended_f|>
as_tibble()
sum_t_suspended_times_f_tib <- sum_t_suspended_times_f|>
as_tibble()
sum_t_suspended_steps_tib <- sum_t_suspended_steps|>
as_tibble()
sum_t_expelled_tib <- sum_t_expelled|>
as_tibble()
sum_t_expelled_steps_tib <- sum_t_expelled_steps|>
as_tibble()
sum_t_responses_tib <- sum_t_responses|>
as_tibble()
write_xlsx(list (role = sum_role_f_tib,
age = sum_age_cat_tib,
teacher_characteristics = ep_teacher_tib,
suspended = sum_teacher_suspended_f_tib,
suspended_times = sum_t_suspended_times_f_tib,
suspended_steps = sum_t_suspended_steps_tib,
expelled = sum_t_expelled_tib,
expelled_steps = sum_t_expelled_steps_tib,
teacher_responses = sum_t_responses_tib), "EP Survey Teacher Summary Data.xlsx")
write_xlsx(ep_data, "ep_data_teacher.xlsx")