在R中添加十分之一字符时,如何将日期/时间列转换为POSIXct?

时间:2018-10-18 18:41:35

标签: r dplyr rstudio lubridate posixct

我的数据集的标题如下:

ID  CH_1   CH_2  CH_3  CH_4  date_time
1 -10096 -11940 -9340 -9972       <NA>
2 -10088 -11964 -9348 -9960       <NA>
3 -10084 -11940 -9332 -9956       <NA>
4 -10088 -11956 -9340 -9960       <NA>

我有一列(date_time),它是创建一系列以一秒为单位增加的日期/时间的起点。

我填充date_time列的第一个值的方式是使用 paste函数组合另一个数据框中的其他两个单元格(5,2和6,2)。这些来自另一个数据框的单元格的开始日期为日期,开始日期为时间,但是我需要在该开始点添加一分秒。我使用以下代码完成了此操作:

df2$date_time<-paste(df1[5,2], df1[6,2])
df2$date_time<-paste(df2[1,6], ".1", sep="")

然后把这个作为标题

ID  CH_1   CH_2  CH_3  CH_4             date_time
1 -10096 -11940 -9340 -9972 2018-07-24 10:45:01.1
2 -10088 -11964 -9348 -9960                  <NA>
3 -10084 -11940 -9332 -9956                  <NA>
4 -10088 -11956 -9340 -9960                  <NA>

在这一点上,date_time被编码为字符串,但是我需要将其转换为POSIXct或其他允许我填充该列其余部分的格式(即下一个值将是2018-07- 24 10:45:01.2)

当我尝试使用以下代码将列转换为POSIXct时,我损失了十分之一秒。 “ OS1 ”部分似乎正确地定义了%H:%M:%OS1 的小数位数……

df2$date_time<-as.POSIXct(df2$date_time, format="%m-%d-%Y %H:%M:%OS1")

我的问题:如何将列正确转换为POSIXct,以便可以使用以下代码或类似的内容填充列的其余部分?任何帮助将不胜感激!!!!

startDate <- df2[["date_time"]][1]
df2[["date_time"]] <- startDate + (seq_len(nrow(df2)) - .1)

0 个答案:

没有答案