我想製作一個基本的概要分析工具,它可以收集時間戳並用筆記產生運行時間。唯一的問題是我無法弄清楚如何在不使用全局變量的情況下做到這一點。實現我試圖實現的功能的「正確」方式是什麼?如果R已經內置了這個功能,那真棒,但是我真正想要弄清楚的是如何避免使用全局變量並編寫更強大的代碼。避免全局變量
timeStamps = c()
runTimes = list()
appendRunTimes <- function(note) {
if(length(timeStamps) < 1) {
timeStamps <<- Sys.time()
}
else {
timeStamps <<- c(timeStamps, Sys.time())
diff <- timeStamps[length(timeStamps) ] - timeStamps[length(timeStamps) - 1]
runTimes <<- c(runTimes, format(diff))
names(runTimes)[length(runTimes)] <<- note
}
}
appendRunTimes('start')
Sys.sleep(4)
appendRunTimes('test')
我會看'system.time'代碼的想法..或使用它!您還可以查看一些基準測試軟件包的代碼(例如'microbenchmark')。 – Justin
除了其他建議外,請參閱「R介紹」(http://cran.r-project.org/doc/manuals/R-intro.pdf)第10.7節,第50頁(2.15.2修訂版)。 –