1) L oop через имена и для каждого кадра данных сохраните его.
for(nm in ls(.GlobalEnv)) {
if (is.data.frame(get(nm, .GlobalEnv)))
save(list = nm, file = paste0(nm, ".RData"))
}
1a) Если указано выше выполняется в глобальной среде, то его можно дополнительно сократить до:
for(nm in ls()) if (is.data.frame(get(nm)))
save(list = nm, file = paste0(nm, ".RData"))
2) Другой подход - создать именованный логический вектор is.df
с одним компонентом на объект. Его компоненты имеют значение ИСТИНА для фреймов данных и ЛОЖЬ в противном случае:
is.df <- unlist(eapply(.GlobalEnv, is.data.frame))
dfnames <- names(is.df)[is.df]
for(nm in dfnames) save(list = nm, file = paste0(nm, ".RData"))
3) Если бы в именах фреймов данных был отличительный образец, мы могли бы использовать это:
for(nm in ls(.GlobalEnv, pattern = "^df"))
save(list = nm, file = paste0(nm, ".RData"))