output_list = lapply(seq_along(input_df), generate_data)
Я перебираю множество фреймов данных и применяю свою собственную функцию generate_data
, которая возвращает список.
Каждый список вложен в output_list, но если время цикла истекло, какмогу ли я сохранить списки, которые были сгенерированы до сих пор в output_list?
Я изучил функции tryCatch()
, withTimeout()
и memory.limit()
.`
Решением моей проблемы было использование assign () для назначения каждого списка новой среде:
output_list = lapply(seq_along(input_df),
function (x) {
temp = generate_data(x)
assign(paste0("df_", x), temp, envir = e)
return(temp)
})
Нет.Решением моей проблемы было использование save () внутри цикла lapply:
output_list = lapply(seq_along(input_df),
function (x) {
temp = generate_data(x)
save(temp, file = paste0("DF/df_", x))
return(temp)
})
Сохранение на диск означает, что я не потеряю все свои данные в случае сбоя сеанса.