Подтвердить что ты не робот

Как преобразовать коэффициент в DateTime в R?

Этот вопрос может быть прост для некоторых из вас, но нести со мной, так как я новичок в R.

У меня есть фреймворк данных, который имеет столбцы факторов (называемые временем), содержащие данные DateTime следующим образом:

time
01/01/2011 00:10
02/01/2011 03:00
03/01/2011 05:00
04/01/2011 10:03

Я хочу преобразовать этот столбец в столбец DateTime в R. Я искал и пробовал некоторые функции, но он дает мне результаты "NA". Следующие функции - это те, которые я пробовал:

> dataframe1$datetime <- as.POSIXlt(as.character(dataframe1$time), format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.POSIXlt(strptime(dataframe1$time), format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.POSIXlt(dataframe1$time, format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.chron(dataframe1$time, "%d/%m/%Y %H:%M")

Я не знаю, что еще попробовать. Я хочу идеально добавить три столбца, а именно дату и время, дату и время.

4b9b3361

Ответ 1

Try:

dataframe1$datetime <- strptime(x = as.character(dataframe1$datetime),
                                format = "%d/%m/%Y %H:%M")

Ответ 2

Вероятно, проще всего использовать пакеты lubridate, которые имеют большое количество функций для обработки дат. Следующее преобразует ваше время в объект POSIXct:

 library(lubridate)
 mdy_hm( as.character(dataframe1$time) )

См. ?mdy, чтобы увидеть множество функций синтаксического анализа.

Для немного более подробной версии, которая не полагается на lubridate

strptime(x = as.character( dataframe1$datetime ), format = "%d/%m/%Y %H:%M")