如何矢量化这个函数?
difftime2string <- function (x) {
if (abs(x) < 1) return(sprintf("%.2fms",x*1000))
if (abs(x) < 100) return(sprintf("%.2fsec",x))
if (abs(x) < 6000) return(sprintf("%.2fmin",x/60))
if (abs(x) < 108000) return(sprintf("%.2fhrs",x/3600))
if (abs(x) < 400*24*3600) return(sprintf("%.2fdays",x/(24*3600)))
sprintf("%.2fyears",x/(365.25*24*3600))
}
编辑:我的意思是没有Vectorize
- 我如何编写带有许多if
s 的矢量化代码。