Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R “创建新列”;工作日%H:%M";从时间戳_R - Fatal编程技术网

R “创建新列”;工作日%H:%M";从时间戳

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") 我还创建了一个只包含工作日的专栏

我有一些列(timestamp、object_id、status和其他一些),我想用它们来预测对象的状态。 我有一个假设,即“周时间”对状态有重要影响。在“工作时间”下,我知道:星期一23:17。 现在我想我需要用这种格式创建一个专栏来检验这个假设

我已经将时间戳转换为POSIXlt:

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分钟是一样的。