gpt4 book ai didi

r - 如何列绑定(bind)两个ffdf

转载 作者:行者123 更新时间:2023-12-02 21:39:55 25 4
gpt4 key购买 nike

假设有两个 ffdf 文件:

library(ff)
ff1 <- as.ffdf(data.frame(matrix(rnorm(10*10),ncol=10)))
ff2 <- ff1
colnames(ff2) <- 1:10

如何在不将它们加载到内存中的情况下对它们进行列绑定(bind)? cbind 不起作用。

有同样的问题 http://stackoverflow.com/questions/18355686/columnbind-ff-data-frames-in-r 但它没有 MWE,作者放弃了它所以我重新发布了。

最佳答案

您可以使用以下构造 cbind.ffdf2,确保两个输入 ffdf 的列名不重复:

library(ff)
ff1 <- as.ffdf(data.frame(letA = letters[1:5], numA = 1:5))
ff2 <- as.ffdf(data.frame(letB = letters[6:10], numB = 6:10))

cbind.ffdf2 <- function(d1, d2){
D1names <- colnames(d1)
D2names <- colnames(d2)
mergeCall <- do.call("ffdf", c(physical(d1), physical(d2)))
colnames(mergeCall) <- c(D1names, D2names)
mergeCall
}

cbind.ffdf2(ff1, ff2)[,]

结果:

   letA numA letB numB
1 a 1 f 6
2 b 2 g 7
3 c 3 h 8
4 d 4 i 9
5 e 5 j 10

关于r - 如何列绑定(bind)两个ffdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com