r – 如何列绑定两个ffdf
发布时间:2020-12-14 04:29:55 所属栏目:大数据 来源:网络整理
导读:假设有两个ffdf文件: library(ff)ff1 - as.ffdf(data.frame(matrix(rnorm(10*10),ncol=10)))ff2 - ff1colnames(ff2) - 1:10 如何在不将它们加载到内存中的情况下对列进行绑定? cbind不起作用. 有一个相同的问题https://stackoverflow.com/questions/183556
假设有两个ffdf文件:
library(ff) ff1 <- as.ffdf(data.frame(matrix(rnorm(10*10),ncol=10))) ff2 <- ff1 colnames(ff2) <- 1:10 如何在不将它们加载到内存中的情况下对列进行绑定? cbind不起作用. 有一个相同的问题https://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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |