R代码:将经过的时间保存为具有一致比例的单个数字

R code: Saving elapsed time as a single number with a consistent scale

在 R 中,我试图保存一些代码行(不是函数执行)的运行时间。但是,我无法将其归结为具有一致比例的单个数字(例如,总秒数)。比如我试过:

starttime <- Sys.time() 
... 
timeelapsed <- as.Double(Sys.time()-starttime)

问题是 timeelapsed 可以表示秒、分钟或其他一些时间单位,具体取决于实际经过了多少时间。

尝试:

as.numeric(Sys.time() - starttime, units = "secs")

您可以将单位指定为 "mins", "hours", "days", "weeks",如 ?difftime 文档所述。

Sys.time() - starttime 本质上是 difftime class,因为它是两个 POSIXct 对象的减法

试试这段代码:

starttime=Sys.time()
..
..
..
endtime=Sys.time()
timeelapsed=difftime(as.POSIXct(endtime),as.POSIXct(starttime),units="secs")

•单位可以采用:“自动”、“秒”、“分钟”、“小时”、“天”、“周”

•可以使用 as.numeric(timeelapsed)

访问 timeelapsed 的值