首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:将变量'difftime‘转换为变量'difftime’(以天为单位

R:将变量'difftime‘转换为变量'difftime’(以天为单位
EN

Stack Overflow用户
提问于 2021-10-01 13:45:28
回答 2查看 56关注 0票数 0

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

代码语言:javascript
复制
> x
Time differences in secs
[1]       0       0 7948800       0

> class(x)
[1] "difftime"

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

我怎么才能得到它呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-01 13:49:54

要么像RonakShah建议的那样使用units=

代码语言:javascript
复制
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

或者在事后改变单位。

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2021-10-01 13:56:28

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

代码语言:javascript
复制
# 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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69406943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档