如何以 1 分钟为间隔创建 28 小时制的 table?

How do I create a table of a 28 hour clock, by 1 minute intervals?

我不太熟悉使用循环。我正在尝试创建一个 table 这样的: 00:00 00:01 00:02 ... 27:58 27:59 28:00

它适用于运行到第二天的数据,但仍被视为原始日期的一部分。

我试过这个:

hh<-c(seq('00','28',1))  
mm<-c(seq('01','60',1))

for (i in (1:29)) {
  int<-paste(hh[i],":",mm)
}
View(int)

但它只会将第 1 分钟到第 60 分钟粘贴到第 28 小时: only the 28th hour

我希望这比我想象的要简单,我不知道如何使用 sapply 或 lapply 来执行此操作。感谢您的帮助。

您可以在 outer 的帮助下完成此操作:

times <- c(t(outer(sprintf('%02d', 0:27),sprintf('%02d', 0:59),paste,sep = ":")))
#add the last time manually
times <- c(times, '28:00')

head(times, 8)  
#[1] "00:00" "00:01" "00:02" "00:03" "00:04" "00:05" "00:06" "00:07"
tail(times, 8)  
#[1] "27:53" "27:54" "27:55" "27:56" "27:57" "27:58" "27:59" "28:00"

sprintf 将 0 附加到单个数字,我们 paste 每小时(0 到 27)到每分钟(0 到 59)。

这对我也有用:

hh<-c(seq('00','28',1))
mm<-c(seq('00','59',1))

library(stringr)
hh<-str_pad(hh, 2,pad="0")
mm<-str_pad(mm, 2,pad="0")

times<-c(sapply(hh, paste, sep=":",mm))
View(times)