Vì vậy, chúng ta hãy nói rằng tôi có một thư mục với một loạt các file .rdataTải nhiều tệp cùng một lúc?
file_names=as.list(dir(pattern="stock_*"))
[[1]]
[1] "stock_1.rdata"
[[2]]
[1] "stock_2.rdata"
Bây giờ, làm thế nào để tải những tập tin này với một cuộc gọi duy nhất?
tôi luôn luôn có thể làm:
for(i in 1:length(file_names)) load(file_names[[i]])
nhưng tại sao tôi không thể làm điều gì đó như do.call(load, file_names)
? Tôi cho rằng không có hàm nào áp dụng sẽ hoạt động vì hầu hết các hàm này sẽ trả về danh sách nhưng không có gì phải trả về, chỉ cần tải các tệp này. Tôi cũng không thể nhận hàm get
để làm việc trong ngữ cảnh này. Ý tưởng?
Câu trả lời được chấp nhận cũng không có tác dụng đối với tôi vì tôi chỉ có danh sách có tên đối tượng của các tệp đã tải. Nhưng đây là những gì đã làm nó: nạp <- lapply (thông tin, chức năng (x) {get (load (x, .GlobalEnv))}) – Wave
Câu trả lời được chấp nhận làm việc cho tôi. Tùy thuộc vào đường dẫn tệp của bạn, bạn có thể cần phải chỉ định full.names = TRUE trong hàm dir() cho câu trả lời của Joshua để làm việc. –