Я не уверен, как интерпретировать «и я не могу использовать пакеты», поэтому я предполагаю, что это означает, что вы не можете использовать что-либо за пределами base R
.
Так может быть, что-то хорошее и запутанное, как это? Также имеет приятное преимущество (?), Помещая все (довольно излишне) в data frame
.
toSecondsConvert <- function(timeString){
timeStringUnits <- c("hrs", "mins", "sec", "millisec")
timeStringUnitsConvertMultiplier <- c(3600, 60, 1, 1/1000)
timeStringSeparated <- base::strsplit(timeString, regex("[\\:\\.]"))
timeStringDf <- data.frame(Units = timeStringUnits, Vals = as.numeric(unlist(timeStringSeparated)), Multipliers = timeStringUnitsConvertMultiplier, stringsAsFactors = FALSE)
timeStringDf$ConvertedVals <- timeStringDf$Multipliers * timeStringDf$Vals
timeInSeconds <- sum(timeStringDf$ConvertedVals)
timeInSeconds
print(timeInSeconds)
}
toSecondsConvert("11:00:00.000")
# [1] 39600