gpt4 book ai didi

r - 扩展 difftime() 以包括月份和年份

转载 作者:行者123 更新时间:2023-12-04 12:18:20 24 4
gpt4 key购买 nike

我可以得到时间自 xdifftime ,但最多只能间隔一周。

> difftime(Sys.Date(), "1977-04-05")
# Time difference of 13655.67 days
> difftime(Sys.Date(), "1977-04-05", units = "weeks")
# Time difference of 1950.81 weeks

除了手动计算之外,是否有一个函数可以获取自 x 以来的月份和年份? ?

我看过这个问题 convert difftime time to years, months and days ,但两年前有人问过并回答过,我认为现在可能会有一些新东西。

我想获取此信息的原因是将其添加到这个无用的函数中
> timeSinceBirth <- function(dob) 
{
today <- Sys.Date()
s <- sapply(list(NULL, "weeks"), function(x) {
difftime(today, dob, units = x)
})
setNames(s, c("days", "weeks"))
}
> timeSinceBirth("1977-04-05")
# days weeks
# 13655.67 1950.81

我希望结果是 monthsyears包含在 weeks 之后

最佳答案

您可以使用序列。所以像:

timeSinceBirth <- function(dob) 
{
today <- Sys.Date()
s <- sapply(list("days", "weeks", "months", "years"), function(x) {
(length(seq(as.Date(dob), Sys.Date(), x)) - 1)
})
setNames(s, c("days", "weeks", "months", "years"))
}

> timeSinceBirth("1977-04-05")
days weeks months years
13657 1951 448 37

关于r - 扩展 difftime() 以包括月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com