如何打开多个 .RDATA 并将其中一个名称保存为 data.frame

Posted

技术标签:

【中文标题】如何打开多个 .RDATA 并将其中一个名称保存为 data.frame【英文标题】:How to open multiple .RDATA and save one of there names as data.frame 【发布时间】:2017-05-29 13:17:32 【问题描述】:

我有多个 .RData 文件,我需要将其中一个对象保存为数据框。例如,我在某个文件夹中有 5 个 Rdata 文件,我看到它是这样的,

files <- list.files(path="/home/user/data/bumphunter", pattern="*.RData", full.names=TRUE, recursive=FALSE)

这显示了我,

files
[1] "/home/R1/Results.alt_ID.RData" 
[2] "/home/R1/Results.alt.RData"    
[3] "/home/R1/Results.alt_REL.RData"
[4] /home/R1/Results.DU_ID.RData"   
[5] "/home/R1/Results.DU.RData"      
[6] "/home/R1/Results.DU_REL.RData"  
[7] "/home/R1/Results.P_ID.RData"   
[8] "/home/R1/Results.P.RData"      
[9] "/home/R1/Results.P_REL.RData" 

并且每个 RData 都有带有名称的对象,例如

names(Results.alt_ID.RData)

我需要将名为 table 的对象保存为每个 Rdata 的新单独数据框

我需要将每个 .Rdata 文件中的对象表保存为数据框。有没有办法在函数中做到这一点?

【问题讨论】:

【参考方案1】:

我的文件名列表很简单,“mt.Rdata”和“mt1.Rdata”

我为每个文件设置数据框的代码是

files <- list.files(getwd())


for(i in files)
    print(i)
    df <- load(i)
    assign(gsub("\\..*","", i), df ) #extracts the string before period
    rm(df)
    

如果这就是你要找的东西,请告诉我。

【讨论】:

您有示例代码吗,因为我尝试了很多方法来弄清楚如何到达那里,例如,table 您要附加或分离 dfs? 我想将它保存为单独的数据框。我需要每个 Rdata 中的对象表 是的,谢谢,但我想知道如何在此处选择对象,或者在循环中的何处选择它? 一种方法是在加载后检查对象的类和 Rdata 文件中的类。然后将该对象分配给 df,因此不要将“df”作为数据框,而是首先加载文件,然后使用 df

以上是关于如何打开多个 .RDATA 并将其中一个名称保存为 data.frame的主要内容,如果未能解决你的问题,请参考以下文章

是否可以以特定名称加载 Granges .Rdata 文件?

将 .RData 保存在不同的目录中

如何将“assign”函数生成的对象保存为循环中的.Rdata文件

在 R 中保存和加载模型

从具有相同属性名称的多个 UITextField 中保存文本

使用for循环将数据帧保存为.Rdata文件[重复]