Ответ 1
Try:
dataframe1$datetime <- strptime(x = as.character(dataframe1$datetime),
format = "%d/%m/%Y %H:%M")
Этот вопрос может быть прост для некоторых из вас, но нести со мной, так как я новичок в 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")
Я не знаю, что еще попробовать. Я хочу идеально добавить три столбца, а именно дату и время, дату и время.
Try:
dataframe1$datetime <- strptime(x = as.character(dataframe1$datetime),
format = "%d/%m/%Y %H:%M")
Вероятно, проще всего использовать пакеты lubridate
, которые имеют большое количество функций для обработки дат. Следующее преобразует ваше время в объект POSIXct:
library(lubridate)
mdy_hm( as.character(dataframe1$time) )
См. ?mdy
, чтобы увидеть множество функций синтаксического анализа.
Для немного более подробной версии, которая не полагается на lubridate
strptime(x = as.character( dataframe1$datetime ), format = "%d/%m/%Y %H:%M")