Преобразовать объект H2OFrame из миллисекунд в минуты? - PullRequest
0 голосов
/ 16 мая 2018

H2O-R-Package предоставляет функции для извлечения / преобразования записей объекта H2OFrame за миллисекунды в:

  • Год h2o.year ()
  • Месяц h2o.month ()
  • час h2o.hour ()
  • День h2o.day ()
  • день недели h2o.dayOfWeek ()
  • но ничего за минуты ...

Как преобразовать записи объекта H2OFrame из миллисекунд в минуты с начала часа?

data.hex = h2o.importFile(filetoload, sep = "," )
date.hex = data.hex[,3] 

#Number of minutes since the begining of Hour
date_epoch = as.data.frame(date.hex)
date_formated = apply(date_epoch , 1, function(x){
    date_format =  as.POSIXlt(x, origin="1970-01-01", tz="HKT")
    return(date_format)
} )

minu =  unlist(lapply(date_formated, function(x){

    return(x$min)
}))
minu.hex = as.h2o(minu)

Время вычислений этого кода чрезвычайно велико по сравнению с:

#Hour of day
heure.hex = hour(date.hex)

Есть ли лучшие решения? Почему нет функции h2o.minute ()?

1 Ответ

0 голосов
/ 17 мая 2018

Я нашел лучшее решение по модулю:

data.hex = h2o.importFile(filetoload, sep = "," )
date.hex = data.hex[,3] 

#Number of minutes since the begining of Hour
#Divide by 1000 to work with seconds and Extract minutes + seconds
#Remove seconds and format in minutes
minu.hex = ((date.hex/1000)%%(60*60))%/%60
...