對於它的價值,上面並沒有完全爲我工作,所以我會後我如何適應這個問題的答案:
我有文件folder_with_files/
由prefix_pattern_
前綴,都是的.RData
類型,並且命名爲我希望它們在我的R環境中被命名:例如:如果我保存了var_x = 5
,我將它保存爲prefix_pattern_var_x.Data
在folder_with_files
中。
我得到的文件名列表,然後生成自己的完整路徑load
他們,然後gsub
的是,我不想要的部分:從folder_with_files/prefix_pattern_object1.RData
把它(爲object1
爲例),以object1
作爲objname
我將assign
存儲在RData
文件中的對象。
file_names=as.list(dir(path = 'folder_with_files/', pattern="prefix_pattern_*"))
file_names = lapply(file_names, function(x) paste0('folder_with_files/', x))
out = lapply(file_names,function(x){
env = new.env()
nm = load(x, envir = env)[1]
objname = gsub(pattern = 'folder_with_files/', replacement = '', x = x, fixed = T)
objname = gsub(pattern = 'prefix_pattern_|.RData', replacement = '', x = objname)
# print(str(env[[nm]]))
assign(objname, env[[nm]], envir = .GlobalEnv)
0 # succeeded
})
接受的答案也不適用於我,因爲我只有一個列表與加載的文件的對象名稱。但是,它是什麼:加載< - lapply(信息,功能(X){獲得(負載(X,.GlobalEnv)))) – Wave 2017-03-28 12:33:02
接受的答案爲我工作。根據您的文件路徑,您可能需要在dir()函數中爲Joshua的工作答案指定full.names = TRUE。 – 2017-04-19 13:50:01