Так скажем, у меня есть каталог с кучей файлов .rdataЗагрузка нескольких файлов одновременно?
file_names=as.list(dir(pattern="stock_*"))
[[1]]
[1] "stock_1.rdata"
[[2]]
[1] "stock_2.rdata"
Теперь, как я загрузить эти файлы с помощью одного вызова?
Я всегда могу сделать:
for(i in 1:length(file_names)) load(file_names[[i]])
, но почему я не могу сделать что-то вроде do.call(load, file_names)
? Я полагаю, что ни одна из функций приложения не будет работать, потому что большинство из них будут возвращать списки, но ничего не нужно возвращать, просто чтобы эти файлы нужно было загрузить. Я не могу заставить функцию get
работать в этом контексте. Идеи?
Принятый ответ также не сработал для меня, поскольку у меня есть список с именами объектов загруженных файлов. Но вот что он сделал: загрузил <- lapply (info, function (x) {get (load (x, .GlobalEnv))}) – Wave
Принятый ответ сработал для меня. В зависимости от ваших путей к файлу вам может потребоваться указать full.names = TRUE в функции dir() для ответа Джошуа на работу. –