Руководство по написанию функции для автоматизации повторяющихся шагов - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь написать функцию, которая автоматизирует ряд шагов, которые я пытаюсь предпринять, чтобы реструктурировать и суммировать различные переменные, чтобы их было проще визуализировать.У меня ограниченный опыт написания своих собственных функций, и я не уверен, правильно ли я это делаю.Я был бы признателен за любую помощь, которую кто-либо может предложить, чтобы помочь мне заставить мою функцию работать.

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)}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...