[R语言]R语言计算unix timestamp的坑

 R+mongo的组合真是各种坑等着踩

由于mongo中的时间戳普遍使用的是unix timestamp的格式,因此需要对每天的数据进行计算的时候,很容易就想到对timestamp + gap对方式来实现每天的时间范围。

但这时候就埋下了一个坑,这个坑就是计算精度的问题。

ms级的时间戳长度是12位,R中会识别成1.421112+e12的格式。gap的则是 1000 * 60 * 60 *24 * i,数量级是10^8。两者相加,在取某个i的时候,会出现加出来的数据与下一天的timestamp对不上的情况。

在我的情况下,当i = 3的时候,就出现了这种异常。

 

关于计算精度的问题,感觉不应该只在R存在。其他脚本语言,在处理mongo按天递增的时候,也应该会碰到。

不过其他语言都有直接把时间转换成timestamp的函数,如果不是自己计算的gap,而是用toTimestamp(Date + 1)的方式去递增时间,则是不存在这个问题的。

由于R没有直接date2timestamp的函数,又下意识认为作为科学计算的R,应该会精确的处理数据的计算问题,所以没有防范。

 

转载于:https://www.cnblogs.com/oDoraemon/p/6227263.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值