R “创建新列”;工作日%H:%M";从时间戳
我有一些列(timestamp、object_id、status和其他一些),我想用它们来预测对象的状态。 我有一个假设,即“周时间”对状态有重要影响。在“工作时间”下,我知道:星期一23:17。 现在我想我需要用这种格式创建一个专栏来检验这个假设 我已经将时间戳转换为POSIXlt:R “创建新列”;工作日%H:%M";从时间戳,r,R,我有一些列(timestamp、object_id、status和其他一些),我想用它们来预测对象的状态。 我有一个假设,即“周时间”对状态有重要影响。在“工作时间”下,我知道:星期一23:17。 现在我想我需要用这种格式创建一个专栏来检验这个假设 我已经将时间戳转换为POSIXlt: training_data$TimeStamp = as.POSIXlt(training_data$TimeStamp, "", "%Y-%m-%d %H:%M:%OS") 我还创建了一个只包含工作日的专栏
training_data$TimeStamp = as.POSIXlt(training_data$TimeStamp, "", "%Y-%m-%d %H:%M:%OS")
我还创建了一个只包含工作日的专栏
training_data$TimeStamp_weekday = weekdays(training_data$TimeStamp)
你能帮我创建一个带有“weektime”的专栏吗
我想我还需要每小时15分钟的4个“时段”来让预测更容易。所以周一23:17->23:15
0-15 mins -> 0
15-30 mins -> 15
30-45 mins -> 30
45-60 mins -> 45
或者类似的东西。不需要粘贴任何东西来润滑::工作日结果。有一个trunc.POSIXt,但据我所知,它不允许截断为分数区间。相反,通过减去7.5分钟(.0.125小时),除以相同的数值,四舍五入,然后乘以该数值,将截短到之前的15分钟标记。这将产生“向下舍入”到先前间隔标记的效果。然后使用format.POSIXt获得所需的格式
> Sys.time()
[1] "2017-12-29 12:24:49 PST"
>
format( as.POSIXct( to convert back to datetime
round( as.numeric( Sys.time() -0.125 * 60*60 )/(0.125 * 60*60) ) * 0.125*60*60 ,
origin="1970-01-01"), "%A %H:%M")
[1] "Friday 12:15"
is所做的是一直移动,使其以间隔“标记”或边界为中心,然后舍入到该刻度上最接近的整数,然后扩展回原始刻度。无需在lubridate::weekday results上粘贴任何内容。有一个trunc.POSIXt,但据我所知,它不允许截断为分数区间。相反,通过减去7.5分钟(.0.125小时),除以相同的数值,四舍五入,然后乘以该数值,将截短到之前的15分钟标记。这将产生“向下舍入”到先前间隔标记的效果。然后使用format.POSIXt获得所需的格式
> Sys.time()
[1] "2017-12-29 12:24:49 PST"
>
format( as.POSIXct( to convert back to datetime
round( as.numeric( Sys.time() -0.125 * 60*60 )/(0.125 * 60*60) ) * 0.125*60*60 ,
origin="1970-01-01"), "%A %H:%M")
[1] "Friday 12:15"
is所做的是一直移动,使其以间隔“标记”或边界为中心,然后舍入到该刻度上最接近的整数,然后扩展回原始刻度。欢迎使用堆栈溢出!请先尝试解决问题,然后发布您尝试过但不起作用的代码。此处的海报希望对现有代码进行评论。此函数在此处可能有用。请参阅?strtime。我很确定你可以使用格式规范获得工作日。你还需要意识到0分钟和60分钟是一样的。欢迎使用堆栈溢出!请先尝试解决问题,然后发布您尝试过但不起作用的代码。此处的海报希望对现有代码进行评论。此函数在此处可能有用。请参阅?strtime。我很确定你可以用一个格式规范获得工作日。你还需要意识到0分钟和60分钟是一样的。