相关疑难解决方法(0)

如何仅绘制包含日期的时间戳的时间部分?

所以我有一组这样的时间戳:

datetime<-c("2011-09-28 03:33:00", "2011-08-24 13:41:00", "2011-09-19 16:14:00", "2011-08-18 11:01:00", "2011-09-17 06:35:00", "2011-08-15 12:48:00")
Run Code Online (Sandbox Code Playgroud)

我想制作一个只有时间的直方图.我所做的是在空格处拆分列以仅获取时间,然后转换回POSIXct对象以便qplot绘制它:

library(ggplot2, stringr)    
qplot(as.POSIXct(strptime((str_split_fixed(as.character(time), " ", 2)[,2]), "%H:%M:%S")))
Run Code Online (Sandbox Code Playgroud)

但是,输出as.POSIXct(strptime((str_split_fixed(as.character(datetime), " ", 2)[,2]), "%H:%M:%S"))

"2011-10-04 03:33:00 PDT" "2011-10-04 13:41:00 PDT" "2011-10-04 16:14:00 PDT" "2011-10-04 11:01:00 PDT" "2011-10-04 06:35:00 PDT" "2011-10-04 12:48:00 PDT"
Run Code Online (Sandbox Code Playgroud)

qplot描绘了我想要的东西,但这对我来说似乎是一个令人费解的黑客.当然有更好的方法来做到这一点?我可以转换为纪元时间和情节,但我试图避免不得不这样做作为额外的一步.

更大的问题是,"我如何控制strptime的输出?"

timestamp r strptime ggplot2

13
推荐指数
1
解决办法
1万
查看次数

计算一天中每小时发生的持续时间的一部分

我有一个带有开始和结束时间的数据框:

  id          start_time            end_time
1  1 2018-09-02 11:13:00 2018-09-02 11:54:00
2  2 2018-09-02 14:34:00 2018-09-02 14:37:00
3  3 2018-09-02 03:00:00 2018-09-02 03:30:00
4  4 2018-09-02 03:49:00 2018-09-02 03:53:00
5  5 2018-09-02 07:05:00 2018-09-02 08:05:00
6  6 2018-09-02 06:44:00 2018-09-02 06:57:00
7  7 2018-09-02 06:04:00 2018-09-02 08:34:00
8  8 2018-09-02 07:51:00 2018-09-02 08:15:00
9  9 2018-09-02 08:16:00 2018-09-02 08:55:00
Run Code Online (Sandbox Code Playgroud)

从这些时间段,我如何计算每天每小时发生的总分钟数?例如,如果一个时段从 9:45 开始并在 10:15 结束,我想将 15 分钟分配给 9:00 小时,将 15 分钟分配给 10:00 小时。

或者检查06上面数据中的小时,该小时包含在两个不同的行(句点)中:

6  6 2018-09-02 06:44:00 2018-09-02 06:57:00 …
Run Code Online (Sandbox Code Playgroud)

datetime r posixct lubridate

13
推荐指数
1
解决办法
604
查看次数

如何使用MAT从MATLAB序列日期编号中提取时间?

我有一些我需要在R中使用的MATLAB序列日期编号,但我要将它们转换为正常日期.

    Matlab:
   datestr(733038.6)
    ans =
    27-Dec-2006 14:24:00 
Run Code Online (Sandbox Code Playgroud)

你可以看到它给出了日期和时间.

Now we try in R:
Matlab2Rdate <- function(val) as.Date(val - 1, origin = '0000-01-01') 
> Matlab2Rdate(733038.6)
[1] "2006-12-27"
Run Code Online (Sandbox Code Playgroud)

它只提供日期,但我还需要时间吗?任何的想法

matlab r

3
推荐指数
1
解决办法
2244
查看次数

标签 统计

r ×3

datetime ×1

ggplot2 ×1

lubridate ×1

matlab ×1

posixct ×1

strptime ×1

timestamp ×1