【发布时间】:2016-02-04 16:59:36
【问题描述】:
我有制作 ffdf 对象的脚本:
library(ff)
library(ffbase)
setwd("D:/My_package/Personal/R/reading")
x<-cbind(rnorm(1:100000000),rnorm(1:100000000),1:100000000)
system.time(write.csv2(x,"test.csv",row.names=FALSE))
system.time(x <- read.csv2.ffdf(file="test.csv", header=TRUE, first.rows=1000, next.rows=10000,levels=NULL))
现在我想将 x 的第 1 列增加 5。
为了执行这样的操作,我使用了 ff 包的方法 'add()':
add(x[,1],5)
输出正常(第 1 列增加 5)。但是额外的 RAM 分配是灾难性的 - 看起来好像我在 RAM 中操作整个数据帧而不是 ffdf 对象。
所以我的问题是关于在没有大量额外 RAM 分配的情况下处理 ffdf 对象元素的正确方法。
【问题讨论】: