我的数据集的标题如下:
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)