Я кодирую a для l oop, чтобы импортировать 6 фреймов данных и применить к ним определенные процедуры.
b = 6
for (i in 1:b) {
a = as.numeric(20200518)
d = as.Date("2020-05-18")
assign(paste("vacantes_", a + i, sep = ""), read_excel(paste("Favorites/Tito/01. aaaaaa/aaaaaaa 20/05. Data/
01. aa/01. Módulo aaaaaaaaaaa/Vacante_inconsistencias_", a + i, ".xlsx", sep = ""),col_names = TRUE))
assign(paste("vacantes_", a + i, "_llenado", sep = ""), get(paste("vacantes_", a + i, sep = "")) %>%
select("ddd", "uuuu", Llenó", "cod") %>%
group_by(ddd, uuuu, `Llenó`) %>% summarise(Cantidad = n()))
assign(paste("vacantes_", a + i, "_llenado1", sep = ""),
dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>%
mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ"))
if(i == b){
rm(a, b, i, d)
}
}
В последнем процессе Cast
(третья функция) я хотел переименовать два столбца в каждом фрейме данных, поэтому я добавляю последнюю строку к этой части кода:
## Cast
assign(paste("vacantes_", a + i, "_llenado1", sep = ""),
dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>%
mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ") %>%
rename(paste("NO_", a + 1, sep ="") = NO, paste("SI_", a + 1, sep ="") = SÍ))
Функция переименования приводит к тому, что for l oop не работает вообще. Я получил:
Error: inesperado '=' in:
" i, "_llenado1", sep = ""), dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>%
mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ")) %>% rename_(paste("NO_", a + 1, sep ="") ="
Я попытался добавить rename(get(paste("NO_", a + 1, sep ="")) = NO, get(paste("SI_", a + 1, sep ="")) = SÍ)
, но это тоже не сработало.
Чтобы уточнить, я удалил строку rename
и строку l oop работал так, как я хотел, так что проблема в этой строке кода. Заранее спасибо.