【问题标题】:Columnbind ff data frames in RR中的列绑定ff数据帧
【发布时间】:2013-08-23 17:20:06
【问题描述】:

我尝试使用 ff 包。在这种情况下,我尝试 cbind 两个 ff 数据帧。我找到了一个将 ffdf 与 ff 矢量结合的解决方案,但我如何结合到 ffdf。这是我将 ffdf 与 ff 矢量结合的代码:

library(ff)
## read Bankfull flow##
setwd(wd)
bf <- read.csv.ffdf(file="G_BANKFULL_km3month.csv",header=TRUE)
## read river discharge global, monthly vlaues 1971-2000##
memory.limit(size=16000)   # increase working memory
dis <- read.table.ffdf(file='RIVER_AVAIL_7100_WG22.txt', header=T, sep="\t", dec=".")
##read bankfull values as ff object##
bfvalues <- ff(bf[,2])
##combination of bf and dis ( see test <- cbind(dis,bf$VALUE))
dis_bf <- do.call('ffdf', c(physical(dis), list(bfvalues=bfvalues)))

非常感谢您的帮助

【问题讨论】:

  • 为什么不简单地做dis$yourcolumnname
  • 或者做 dis$yourcolumnname
  • 谢谢您的回答。好吧,我也设法用 merge() 解决了我的问题。但是你的解决方案也很有效,所以还是谢谢。
  • @yemmit 如果您解决了您的问题,请将其写下来作为您问题的答案,以便其他人可以从看到解决方案中受益。否则,这只是一个问题的存根,以后不会使任何人受益。

标签: r bigdata ff


【解决方案1】:

问题已在此处得到解答:How to column bind two 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)[,]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 2021-07-25
    • 1970-01-01
    • 2018-06-15
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多