R ff,如何向现有FF对象添加新列/行

时间:2015-12-03 10:19:57

标签: r ff

我多次走进这个:

我已经有一个大的ff对象(由矩阵/数组表示)然后我想添加一个新的列/行,因为我有一些更新的数据并且不想创建一个新的大从头开始的对象(这可能非常耗时)。

我尝试过这样的事情:

t <- cbind(a = c(1,2,3,4,5), b=c(6,7,8,9,10))
ff.t <- ff(t, dim=dim(t))
# Adding new column works fine
dim(ff.t) <- c(5, 3)

ff (open) double length=15 (15) dim=c(5,3) dimorder=c(1,2)
     [,1] [,2] [,3]
[1,]    1    6    0
[2,]    2    7    0
[3,]    3    8    0
[4,]    4    9    0
[5,]    5   10    0

# Adding new row gives error
dim(ff.t) <- c(6, 4)
  

dim(ff.t)&lt; - c(6,4)   dim<-.ff中出错(*tmp*,值= c(6,4)):     你只能改变最快的旋转暗淡    1:dim<-*tmp*,值= c(6,4))    2:dim<-.ff*tmp*,值= c(6,4))    3:停止(&#34;你只能改变最快的旋转暗淡&#34;)

这是什么意思? 有没有办法解决这个问题,并将列/行添加到ff对象(自然也增加了文件大小)?如果您无法避免创建新对象,那么最好的方法是什么?可以使用0或NA初始化新列。

谢谢

1 个答案:

答案 0 :(得分:0)

我要做的是将现有对象转换为data.frame,这样可以轻松添加列和行。

添加列的示例:

t <- as.data.frame(t)

t["newColName"] <- NA
t$newColName <- *whatever value* (Example: t$a - t$b)