Я пытаюсь написать функцию, которая автоматизирует ряд шагов, которые я пытаюсь предпринять, чтобы реструктурировать и суммировать различные переменные, чтобы их было проще визуализировать.У меня ограниченный опыт написания своих собственных функций, и я не уверен, правильно ли я это делаю.Я был бы признателен за любую помощь, которую кто-либо может предложить, чтобы помочь мне заставить мою функцию работать.
agent_data_clean - это фрейм данных, с которым я работаю, остальные имена - это имена переменных из фрейма данных.
Этокод, который я пытаюсь автоматизировать:
agent_col_names <- c("region", "Impression", "code", "counts", "question")
agent_q2a <- agent_data_clean %>% group_by(region, Impression, `The
formal training you received in EDGE`) %>% summarise(counts = n())
%>% mutate(question = "The formal training you
received in EDGE")
colnames(agent_q2a) <- agent_col_names
agent_q2b <- agent_data_clean %>% group_by(region, Impression, `The in-
person, instructor-led training`) %>%
summarise(counts = n()) %>% mutate(question = "The in-person, instructor-
led training")
colnames(agent_q2b) <- agent_col_names
agent_q2c <- agent_data_clean %>% group_by(region, Impression, `The E-
learning training (GU Courses)`) %>%
summarise(counts = n()) %>% mutate(question = "The E-learning training
(GU Courses)")
colnames(agent_q2c) <- agent_col_names
agent_q2 <- bind_rows(agent_q2a, agent_q2b, agent_q2c)
Это копия функции, которую я пытался использовать для автоматизации вышеуказанных шагов:
test <- function(df, grp_constant, grp_vars, col_names) {
for(i in seq_along(grp_vars)) {
result <- list()
grp[i] <- c(grp_constant, grp_vars)
result$agent_q[i] <- df %>% group_by(grp[i]) %>% summarise(counts = n())
%>% mutate(question = as.character(grp_vars[i]))
colnames(agent_q[i]) <- col_names
return(result)}}