1
a <- data.frame(x=c(1,2,3), y=c(10,10,20))
a
  x  y
1 1 10
2 2 10
3 3 20
a$z = a$x / a$y # works with data frame
a
  x  y    z
1 1 10 0.10
2 2 10 0.20
3 3 20 0.15

a <- data.frame(x=c(1,2,3), y=c(10,10,20))
a_ff <- as.ffdf(a)
a_ff$z = a_ff$x / a_ff$y # throws an error for a ff data frame
Error in a_ff$x/a_ff$y : non-numeric argument to binary operator

如何更新 ff 数据框以添加列?

我已经检查了 ff 和 ffbase 包文档,但找不到有关如何执行此操作的示例。

我设法完成了以下操作: z <- ffdfwith(a_ff, x/y)

但后来我不知道如何用新向量更新 ff 数据框。

4

1 回答 1

2

我能够重现该错误。我猜你需要ffbase

a_ff$z = a_ff$x / a_ff$y #
#Error in a_ff$x/a_ff$y : non-numeric argument to binary operator

library(ffbase)
a_ff$z = a_ff$x / a_ff$y
a_ff$z
# ff (open) double length=3 (3)
#  [1]  [2]  [3] 
# 0.10 0.20 0.15 
于 2014-07-21T19:42:50.187 回答