Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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中将时间戳更改为以小时为单位的数字格式_R - Fatal编程技术网

如何在R中将时间戳更改为以小时为单位的数字格式

如何在R中将时间戳更改为以小时为单位的数字格式,r,R,我目前有一列HH:MM:SS格式的时间,需要将其转换为数字小时值 [1]“0:00:00”“0:10:00”“0:20:00”“0:30:00”“0:40:00” [6]“0:50:00”“1:00:00”“1:10:00”“1:20:00”“1:30:00” [11]“1:40:00”“1:50:00”“2:00:00”“2:10:00”“2:20:00” 我本来打算使用lubridate程序,但是有没有更有效的方法呢?您可以: sapply(strsplit(vec,“:”),函数(x){

我目前有一列HH:MM:SS格式的时间,需要将其转换为数字小时值

[1]“0:00:00”“0:10:00”“0:20:00”“0:30:00”“0:40:00”

[6]“0:50:00”“1:00:00”“1:10:00”“1:20:00”“1:30:00”

[11]“1:40:00”“1:50:00”“2:00:00”“2:10:00”“2:20:00”

我本来打算使用lubridate程序,但是有没有更有效的方法呢?

您可以:

sapply(strsplit(vec,“:”),函数(x){
x[1]0.0000000.1666667 0.3333333 0.5000000 0.66667 0.8333333 1.0000000
#>  [8] 1.1666667 1.3333333 1.5000000 1.6666667 1.8333333 2.0000000 2.1666667
#> [15] 2.3333333

数据

vec[1]“0:00:00”“0:10:00”“0:20:00”“0:30:00”“0:40:00”“0:50:00”“1:00:00”
#>  [8] "1:10:00" "1:20:00" "1:30:00" "1:40:00" "1:50:00" "2:00:00" "2:10:00" 
#> [15] "2:20:00"

由(v0.3.0)于2020年11月24日创建的带有
lubridate的选项

library(lubridate)
period_to_seconds(hms(vec))/3600
#[1] 0.0000000 0.1666667 0.3333333 0.5000000 0.6666667 0.8333333 1.0000000 1.1666667 1.3333333 1.5000000 1.6666667 1.8333333 2.0000000
#[14] 2.1666667 2.3333333
数据
vec请使用
dput(mydata列)
的结果粘贴数据。这是否回答了您的问题?小时数值是什么意思?您的意思是0:00:00变为0.0,0:10:00变为0.1,1:10:00变为1.1?
vec <- c("0:00:00", "0:10:00", "0:20:00", "0:30:00", "0:40:00", "0:50:00", 
     "1:00:00", "1:10:00", "1:20:00", "1:30:00", "1:40:00", "1:50:00", 
     "2:00:00", "2:10:00", "2:20:00")