Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中组合两个.rda文件?_R_Rda - Fatal编程技术网

如何在R中组合两个.rda文件?

如何在R中组合两个.rda文件?,r,rda,R,Rda,我有两个.rda文件,其中有许多变量和数据帧已经设置为一些值。这两个rda文件具有相同的变量名和数据帧名。然而,它们的顺序是不同的。我想将两个rda文件合并成一个.rda文件,就像我们附加两个数据帧一样 我尝试使用rbind组合包含.rda文件的两个对象,如下所示 X <- c(1,2,3) Y <- c("A","B","C") rbind(X,Y) save(X,Y,file="samplerda.rda") load(file = "samplerda.rda") X

我有两个.rda文件,其中有许多变量和数据帧已经设置为一些值。这两个rda文件具有相同的变量名和数据帧名。然而,它们的顺序是不同的。我想将两个rda文件合并成一个.rda文件,就像我们附加两个数据帧一样

我尝试使用
rbind
组合包含.rda文件的两个对象,如下所示

X <- c(1,2,3)
Y <- c("A","B","C")

rbind(X,Y)

save(X,Y,file="samplerda.rda")
load(file = "samplerda.rda")


X <- c(4,5,6)
Y <- c("D","E","F")
save(X,Y,file="samplerda1.rda")
load(file = "samplerda1.rda")

ob1 <- load(file = "samplerda.rda")
ob2 <- load(file = "samplerda1.rda")
combine12 <- rbind(ob1, ob2)
save(combine12, file="En1.rda")
load("En1.rda")
print(combine12)
实际产量为

    [,1] [,2]
ob1 "X"  "Y" 
ob2 "X"  "Y"
load()
函数返回它加载的对象的名称,因此
ob1
ob2
都将包含
c(“X”,“Y”)
并且当您
rbind
它们时,您将得到在
combine12
中看到的矩阵

您需要更复杂的代码来完成所需的操作,例如:

env1 <- new.env()
env2 <- new.env()
ob1 <- load(file = "samplerda.rda", envir = env1)
ob2 <- load(file = "samplerda1.rda", envir = env2)
stopifnot(all(ob1 == ob2))  # Sanity check

combine12 <- list()
for (n in ob1) {
  combine12[[n]] <- c(get(n, env1), get(n, env2))
}
combine12 <- as.data.frame(combine12)
env1
env1 <- new.env()
env2 <- new.env()
ob1 <- load(file = "samplerda.rda", envir = env1)
ob2 <- load(file = "samplerda1.rda", envir = env2)
stopifnot(all(ob1 == ob2))  # Sanity check

combine12 <- list()
for (n in ob1) {
  combine12[[n]] <- c(get(n, env1), get(n, env2))
}
combine12 <- as.data.frame(combine12)