R:将可变的"衍射时间"(以秒为单位)转换为变量"衍射时间"(以天为单位)

  • 本文关键字:为单位 时间 转换 变量 r time
  • 更新时间 :
  • 英文 :


我有以下向量x,该类difftime表示一些以秒为单位的时间跨度:

> x
Time differences in secs
[1]       0       0 7948800       0
> class(x)
[1] "difftime"

我想转换变量,以便以天而不是秒来表示每个值

我怎么能得到它?

使用as.numeric,然后在两者中使用units="days"转换为difftime。如果数字输出可以,则省略管道末尾的as.difftime

# test input
secs <- as.difftime(rep(7948800, 3), units = "secs")
secs |> as.numeric(units = "days") |> as.difftime(units = "days")
## Time differences in days
## [1] 92 92 92

按照RonakShah的建议使用units=

x <- difftime(Sys.time() + c(0, 100, 3*86400), Sys.time(), units = "days")
x
# Time differences in days
# [1] 0.000000000 0.001157407 3.000000000

或事后更改单位。

x <- difftime(Sys.time() + c(0, 100, 3*86400), Sys.time())
x
# Time differences in secs
# [1]      0    100 259200
units(x) <- "days"
x
# Time differences in days
# [1] 0.000000000 0.001157407 3.000000000

相关内容

  • 没有找到相关文章

最新更新