Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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 如何从精确的datetime开始以毫秒为单位生成in-datetime变量_R_Lubridate - Fatal编程技术网

R 如何从精确的datetime开始以毫秒为单位生成in-datetime变量

R 如何从精确的datetime开始以毫秒为单位生成in-datetime变量,r,lubridate,R,Lubridate,我必须将带有毫秒变量的数据帧转换为带有datetime变量的df(从精确的datetime开始),其中毫秒逐渐添加到上一个datetime。** 在Excel中,这是一个非常简单的问题,我这样解决: 1) 以毫秒格式“YYYY-mm-dd HH:mm:SS.xxx”(即“0000-00-00:00:00.xxx”)转换文本中的RR_-ms 2) 将第一毫秒添加到“2019-05-04 08:57:42.000” 3) 将其他毫秒单元格逐步添加到以前的单元格中 4) 将xlsx文件读入R(read

我必须将带有毫秒变量的数据帧转换为带有datetime变量的df(从精确的datetime开始),其中毫秒逐渐添加到上一个datetime。**

在Excel中,这是一个非常简单的问题,我这样解决:

1) 以毫秒格式“YYYY-mm-dd HH:mm:SS.xxx”(即“0000-00-00:00:00.xxx”)转换文本中的RR_-ms

2) 将第一毫秒添加到“2019-05-04 08:57:42.000”

3) 将其他毫秒单元格逐步添加到以前的单元格中

4) 将xlsx文件读入R(readxl,lubridate)

我的目标是从

head(sample[,1])
 A tibble: 6 x 1
  RR_ms
  <dbl>
1   789
2   789
3   796
4   792
5   769
6   753
head(样本[,1])
一个tibble:6x1
休姆斯
1   789
2   789
3   796
4   792
5   769
6   753
跟踪df

head(sample[,1:2])
# A tibble: 6 x 1
  RR_ms   Time
  <dbl>   <datetime>
1  789    2019-05-04 08:57:42.789
2  789    2019-05-04 08:57:43.578
3  796    2019-05-04 08:57:44.374
4  792    2019-05-04 08:57:45.166
5  769    2019-05-04 08:57:45.935
6  753    2019-05-04 08:57:46.688
head(样本[,1:2])
#一个tibble:6x1
剩余时间
1  789    2019-05-04 08:57:42.789
2  789    2019-05-04 08:57:43.578
3  796    2019-05-04 08:57:44.374
4  792    2019-05-04 08:57:45.166
5  769    2019-05-04 08:57:45.935
6  753    2019-05-04 08:57:46.688
我会很感激任何提示或链接,因为到目前为止,我所看到的都没有帮助我生成所需的R代码

致意


Andrea

请参见
?as.POSIXct.numeric
,它有一个
原点
选项
POSIXct
class将时间戳存储为UTC纪元(1970年1月1日UTC)之后的秒数。因此,您必须先将毫秒转换为秒,然后再直接转换。谢谢@MichaelChirico。我尝试了这个转换示例$sec head(示例$sec)[1]“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”)查看
dput(head(示例$sec))
。我认为默认的打印方法会截断亚秒级的值。同时尝试提供
tz
参数以获得正确的时区。使用tz=“GMT”解决。感谢您将
?作为.POSIXct.numeric
,它有一个
原点
选项
POSIXct
class将时间戳存储为UTC纪元(1970年1月1日UTC)之后的秒数。因此,您必须先将毫秒转换为秒,然后再直接转换。谢谢@MichaelChirico。我尝试了这个转换示例$sec head(示例$sec)[1]“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”“2019-04-05 10:57:42 CEST”)查看
dput(head(示例$sec))
。我认为默认的打印方法会截断亚秒级的值。同时尝试提供
tz
参数以获得正确的时区。使用tz=“GMT”解决。谢谢