Как преобразовать столбец даты / времени в POSIXct при добавлении символа с точностью до секунды в R? - PullRequest
0 голосов
/ 18 октября 2018

Заголовок моего набора данных выглядит следующим образом:

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 путем объединения двух других ячеек (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)
...