整数溢出与rollmean在动物园里

时间:2014-06-04 20:15:18

标签: r zoo integer-overflow

我有rollmean函数的Integer溢出错误。当我在5个数字部分进行操作但没有在20(和260)个数字部分上工作时,它运行良好。

数字是交易量(7位数)。

你有什么线索可以解决这个问题吗?

感谢

SP_stock$mean_vol_20<-ave(SP_stock$vol, SP_stock$ticker, FUN=function(x) rollmean(x,k=20, na.pad=T, align="right"))

Error: In sum(xu[1:k]) : dépassement d'entier - utiliser sum(as.numeric(.))
Error: In sum(xu[1:k]) : Integer overflow - use sum(as.numeric(.))

1 个答案:

答案 0 :(得分:1)

您的问题的线索已在错误​​消息中。您必须在numeric提供rollmean输入,而不是integer输入,因为当sum为整数时,中间计算(x)会溢出。

在你的情况下,做:

ave(as.numeric(SP_stock$vol), SP_stock$ticker, FUN = ...)

应该有用。

相关问题