创建新列的R ff包给出错误“二元运算符的非数字参数”

时间:2014-07-21 12:39:07

标签: r ff

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&lt; -ffdfwith(a_ff,x / y)

但后来我不知道如何用新的矢量更新ff数据帧。

1 个答案:

答案 0 :(得分: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