R 将内容存储到所需对象中

R 将内容存储到所需对象中,r,get,load,s4,R,Get,Load,S4,我有一个像这样的向量: vec1 <- c("x1","x2","x3","x4") vec2 <- c("X1.RData","X2.RData","X3.RData","X4.RData") 其中myclass是S4类型对象的类 在R中是否有这样做的方法?您需要知道每个.Rdata文件中对象的名称。对象名称与对象内容一起保存,当使用load访问对象时,不会指定存储它们的文件的名称。此外,您需要使用assign为这些对象指定一个新名称。假设当时工作区中没有其他内容: 未经测试:

我有一个像这样的向量:

vec1 <- c("x1","x2","x3","x4")
vec2 <- c("X1.RData","X2.RData","X3.RData","X4.RData")
其中myclass是S4类型对象的类


在R中是否有这样做的方法?

您需要知道每个.Rdata文件中对象的名称。对象名称与对象内容一起保存,当使用
load
访问对象时,不会指定存储它们的文件的名称。此外,您需要使用
assign
为这些对象指定一个新名称。假设当时工作区中没有其他内容:

未经测试:

for (i in 1:length(vec1)){ load(vec2[i])
   assign( vec1[i] , get( ls() )
   save(vec1[i],file=vec2[i])
   rm(list=ls(patt="^x.$") )
}
如果工作区中有其他内容,那么您确实需要知道这些.Rdata文件中对象的名称。(尽管如果您
load()
-将这些加载到特定的环境中,您可能能够将进程与工作区的其余部分隔离开来/)

class(vec1[i]) <- myclass
for (i in 1:length(vec1)){ load(vec2[i])
   assign( vec1[i] , get( ls() )
   save(vec1[i],file=vec2[i])
   rm(list=ls(patt="^x.$") )
}