R - 使用 System.time 获取当前日期,并将时间更改为 timevis 时间线的固定值

Posted

技术标签:

【中文标题】R - 使用 System.time 获取当前日期,并将时间更改为 timevis 时间线的固定值【英文标题】:R - Using System.time to get current date, and change time to fixed values for timevis timeline 【发布时间】:2020-10-21 02:22:17 【问题描述】:

我正在尝试使用 timevis 包创建交互式单日时间线构建器。进入时间轴的每个项目都会有一个以分钟为单位的“长度”属性。

我将时间线限制在今天上午 8 点到下午 5 点之间。

我希望每个项目在上午 8 点开始,但结束日期必须是

todayAM + length

如果需要,我可以更改长度的存储方式。

关于如何操纵时间的任何想法,以便我可以绘制基本块。 (然后用户将它们拖到时间轴上所需的位置。)

library(timevis)

today <- as.character(Sys.Date())
todayAM <- paste(today,"08:00:00")
todayPM <- paste(today, "17:00:00")

items <- data.frame(
  category = c("Room","IceBreaker","Activity","Break"),
  categoryid=c(1,2,3,4),
  name = c("Big Room","Introductions","Red Rover","Lunch"),
  length = c(480,60,120,90)
)


data <- data.frame(
  id = 1:4,
  start = c(todayAM, todayAM, todayAM, todayAM),
  end = c(todayPM, todayPM, todayPM, todayPM),
  content = items$name,
  group = items$categoryid
)

groups <- data.frame(id= items$categoryid, content = items$category)

timevis(
  data = data,
  groups = groups,
  fit = TRUE,
  options = list(editable = TRUE, multiselect = TRUE, align = "center", stack = TRUE,
                 start = todayAM,
                 end = todayPM
                 )
  
)

【问题讨论】:

【参考方案1】:

你可以这样做:

library(dplyr)
library(lubridate)
starthour <- 8
data <- items %>% mutate(start = as.POSIXct(Sys.Date()) + hours(starthour) + minutes(lag(cumsum(items$length),1,default=0)),
                         end   = as.POSIXct(Sys.Date()) + hours(starthour) + minutes(cumsum(items$length)),
                         content = name)

timevis::timevis(
  data = data,
  fit = TRUE,
  options = list(editable = TRUE, multiselect = TRUE, align = "center", stack = TRUE)
)

然后,您必须根据需要设置时区选项:as.POSIXct 创建 UTC 日期。

【讨论】:

谢谢!我真的很喜欢时代的累积来创造交错的布局。不幸的是,由于某些事件需要重叠,我不得不将其删除。 (主要是房间组,它将运行一整天,并导致所有内容都在这段时间内发生变化。)

以上是关于R - 使用 System.time 获取当前日期,并将时间更改为 timevis 时间线的固定值的主要内容,如果未能解决你的问题,请参考以下文章

R语言获取当前安装的R包的详细信息实战(版本日期等)

在 R system.time(exp) 输出中测量的“用户”和“系统”时间是多少?

C++ chrono 获取当前时间

R语言使用system.time函数统计多个函数运行的累加(累计)时间计算h2o包生成的多个算法模型进行特征重要度分析累计耗费的时间

R语言使用system.time函数统计多个函数运行的累加(累计)时间计算h2o包生成的多个算法模型进行特征重要度分析累计耗费的时间

在不打开子shell的情况下获取当前时间(和日期)[重复]