R 以选定/已知单位写入文件的运行时间
我正在使用R和Rstudio。我是个十足的新手R 以选定/已知单位写入文件的运行时间,r,file-io,time,format,R,File Io,Time,Format,我正在使用R和Rstudio。我是个十足的新手 我的意思是将循环每次迭代所经过的时间写入文件。因此,我定义了三个变量:start尝试隔离单元并将它们组合到时间值: start <- Sys.time() currtime <- start + 180 diff.time <- currtime - start timediff <- paste(diff.time, attr(diff.time, "units")) write(timediff, file = "tes
我的意思是将循环每次迭代所经过的时间写入文件。因此,我定义了三个变量:
start尝试隔离单元并将它们组合到时间值:
start <- Sys.time()
currtime <- start + 180
diff.time <- currtime - start
timediff <- paste(diff.time, attr(diff.time, "units"))
write(timediff, file = "test.Rout", append = F )
我们要查找的属性是“units”
,其值是“mins”
。我们可以提取该属性并将其粘贴到时差中
检查属性
我们可以使用attr(“对象”、“属性名称”)检查属性。
:
属性
和子集列表样式:
attributes(diff.time)
$units
[1] "mins"
$class
[1] "difftime"
或者你也可以只使用函数@hrbrmstr-microbenchmark似乎适合我的需要。提供的链接很有趣(虽然有点长)。就我目前的需要而言,皮埃尔·拉福琼的答案似乎已经足够了。我可以直接强制单位(无需检查
attr
并根据需要进行转换)吗?我的意思是让write(diff.time…
只写数字,总是以秒为单位,而不是让R决定哪个是最好的。是的,你可以这样做difftime(currtime,start,units=“secs”)
并且始终以秒为单位。
5.486106
1.239183
start <- Sys.time()
currtime <- start + 180
diff.time <- currtime - start
timediff <- paste(diff.time, attr(diff.time, "units"))
write(timediff, file = "test.Rout", append = F )
str(diff.time)
Class 'difftime' atomic [1:1] 3
..- attr(*, "units")= chr "mins"
attr(diff.time, "units")
[1] "mins"
attributes(diff.time)
$units
[1] "mins"
$class
[1] "difftime"