- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有人有更简洁的方法将润滑周期和持续时间对象四舍五入到分钟而不是秒。
例如,我有以下代码管道:
seconds(x = 3600115) %>% as.duration() %>% as.period()
结果为:41d 16H 1M 55S
。我想将其四舍五入,使其变为:41d 16H 2M 0S
。
有没有人知道比以下更好的方法:
(seconds(x = 3600115) / 60) %>% as.numeric() %>% round() %>% dminutes() %>% as.period()
这导致:41d 16H 2M 0S
最佳答案
duration 对象以秒数的形式存储,period 对象可以使用 period_to_seconds()
方便地转换为秒数,因此您可以为此使用一个简单的函数:
library(lubridate)
# Create period object
p <- seconds_to_period(3600115)
# Create duration object
d <- as.duration(p)
minround <- function(x) {
stopifnot(is.period(x) || is.duration(x))
if (is.duration(x))
round(x / 60) * 60
else
seconds_to_period(round(period_to_seconds(x) / 60) * 60)
}
minround(p)
# [1] "41d 16H 2M 0S"
minround(d)
# [1] "3600120s (~5.95 weeks)"
关于使用 lubridate 将持续时间或周期舍入到整分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64929984/
如何获得润滑间隔对象的“平均值”(或更准确地说是中点)?我试过使用基本的 mean() 函数,但它返回了一个 double 值。 library(lubridate) ex = interval(
我有以下时间范围: A <- c('2016-01-01', '2019-01-05') B <- c('2017-05-05','2019-06-05') X_Period <- interval(
我将数据框列中的日期格式化为字符串,如 09/30/2014 我使用 lubridate 来识别我的日期所属的星期: library(lubridate) week(mdy("09/30/2014")
我有一个以日期时间格式开始和结束的数据框,如下所示: shift_time % unlist() %>% as.duration() } 该函数采用两个区间向量。对于第一个向量的每个元
快速谷歌搜索似乎让我无处可去。 lubridate 中的有效时区是什么 tz选项?特别是,我正在寻找巴西利亚的时区。谢谢! library(lubridate) dts <- c("6-3-1995
我正在尝试处理一组润滑间隔并确定日期是否在该组的任何成员内。 我的时间间隔不重叠,但最好给出一般答案。) 在开始数据分析之前,我不知道那组间隔中有多少个间隔: library(lubridate) #
This question询问 R 中按时间段聚合的情况,pandas 称之为重采样。最有用的答案使用 XTS 包按给定的时间段进行分组,应用一些函数,例如 sum() 或 mean()。 其中一条评
我正在尝试使用 lubridate 包创建日期时间,并且我尝试了以下值: library(lubridate) ymd_hms("2017-07-02 23:00:00") [1] "2017-07-
在 电话 ,我有一个以两种不同格式表示日期的字符串向量: “月/日/年” “月日,年” 第一种格式有一个两位数的年份,所以我的向量看起来像这样: c("3/18/75", "March 10, 199
我有一个关于 R 的 lubridate 包的简单问题。自纪元以来,我有一系列以秒为单位的时间戳。我想将其转换为 YYYY-MM-DD-HH 格式。在基础 R 中,我可以先将其转换为日期格式 > x
考虑以下示例 library(lubridate) library(tidyverse) > hour(ymd_hms('2008-01-04 00:00:00')) [1] 0 现在, data
有没有人有更简洁的方法将润滑周期和持续时间对象四舍五入到分钟而不是秒。 例如,我有以下代码管道: seconds(x = 3600115) %>% as.duration() %>% as.peri
有一些财务数据,我想通过仅选择每周的第一个非星期一来过滤它。通常是星期二,但如果星期二是假日,有时也可以是星期三。 这是我在大多数情况下都有效的代码 XLF % rownames_to_column(
我需要从日期中提取两位数的天数。 例如: date <- as.Date(01-01-2016) year(date) 将给出 '2016' month(date) 将产生 '1' day(date)
我想按月汇总我的日期。我想使用某个月的最后一个星期六作为该月的日期。我可以通过以下方式获得一周中星期六的日期: as.Date(paste(6, week(mdy(mydate)), year(mdy
考虑以下示例 library(lubridate) library(tidyverse) > hour(ymd_hms('2008-01-04 00:00:00')) [1] 0 现在, data
有没有人有更简洁的方法将润滑周期和持续时间对象四舍五入到分钟而不是秒。 例如,我有以下代码管道: seconds(x = 3600115) %>% as.duration() %>% as.peri
首先感谢您对其他帖子的所有回答,这对我帮助很大。这是我的第一个。 我有这样的数据: [1] 1986.05 1986.06 1986.07 1986.08 1986.09 1986.10 1986.
当我将单个日期解析时,它解析准确 > ymd("20011001") [1] "2001-10-01 UTC" 但是当我尝试创建一个日期向量时,它们都会在一天假时出现: > b=c(ymd("2011
我在 R 中使用 lubridate 包时看到了意想不到的结果。我只是想将两个日期组合成一个向量。当我这样做时,时区会改变。这里发生了什么? > x y x [1] "2016-02-08 UTC
我是一名优秀的程序员,十分优秀!