【问题标题】:Taking difference of time in R在R中取时间差
【发布时间】:2018-03-28 02:43:30
【问题描述】:

我需要减去时间,即 T2-T1,但它给了我一个错误,如下所述;

  > deltaT <- tim[i + 1] - tim[i]
    Error in tim[i + 1] - tim[i] : non-numeric argument to binary operator

而T1和T2的形式是

        "2017-10-12T12:51:29.616"

任何人都可以帮助我吗?谢谢!

【问题讨论】:

标签: r time


【解决方案1】:

查找 dpylr 的 dplyrdifftimelead

你可能会使用这样的东西:

df%>%mutate(timeDiff = difftime(lead(time), time, units = "days"))

如果您想查找两个特定日期之间的时间,您可以使用:

date1 <- as.POSIXct("2017-10-12T12:51:29.616", format = "%Y-%m-%dT%H:%M:%OS")  
date2 <- as.POSIXct("2017-10-12T12:51:39.616", format = "%Y-%m-%dT%H:%M:%OS")

timeBetween = difftime(date1,date2, units = "secs")
print(timeBetween)
Time difference of -10 secs

【讨论】:

  • 感谢您的回答,但这是什么? df%>%变异
  • 它是管道运算符。更多解释在这里uc-r.github.io/pipe
  • 谢谢!我只想从“2017-10-12T12:51:39.616”中减去“2017-10-12T12:51:29.616”;这就是我提出这个问题的原因。
  • 我没有拒绝你。很少有人反对我的问题和你的回答。太糟糕了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多