Страница 1 из 1
Character to DateTime в Data Frame'е
Добавлено: 19 авг 2015, 12:12
nickleb
Пожалуйста, разъясните:
в Data Frame'е есть колонка символьная для времени по маске
"YYYY-MM-DD HH:MM:SS"
Как эту колонку превратить в колонку типа DateTime, если таковой, конечно в R есть?
Мне надо получать разность значений по этой колонке между её значением в текущей строке
и в предыдущей строке в секундах.
Re: Character to DateTime в Data Frame'е
Добавлено: 19 авг 2015, 14:09
nickleb
nickleb писал(а):Пожалуйста, разъясните:
в Data Frame'е есть колонка символьная для времени по маске
"YYYY-MM-DD HH:MM:SS"
Как эту колонку превратить в колонку типа DateTime, если таковой, конечно в R есть?
Мне надо получать разность значений по этой колонке между её значением в текущей строке
и в предыдущей строке в секундах.
Решил так:
Код: Выделить всё
#"DtFr" - имя Data Frame'а;
#"Date_Time" - имя колонки, которая содержит символьное представление даты..
#например: "2015-06-21 18:00:00"
> DtFr$"Date_Time" <- as.POSIXct(DtFr$"Date_Time",format="%Y-%m-%d %H:%M:%S")
Re: Character to DateTime в Data Frame'е
Добавлено: 19 авг 2015, 22:55
sergsh
можно преобразовать через
tt<-as.POSIXlt(DtFr$"Date_Time",format="%Y-%m-%d %H:%M:%S")
и тогда доступны секунды отдельно
tt$sec
а так же доступны все другие части даты
tt$min
tt$hour
tt$mday
tt$mon
и т.д.
Re: Character to DateTime в Data Frame'е
Добавлено: 20 авг 2015, 13:22
nickleb
sergsh писал(а):можно преобразовать через
tt<-as.POSIXlt(DtFr$"Date_Time",format="%Y-%m-%d %H:%M:%S")
и тогда доступны секунды отдельно
tt$sec
а так же доступны все другие части даты
tt$min
tt$hour
tt$mday
tt$mon
и т.д.
Вот только хотел "поспрошать" о размерности вывода, а Вы ответили с упреждением. Спасибо!
Re: Character to DateTime в Data Frame'е
Добавлено: 20 авг 2015, 14:11
gamm
из личного опыта. Все эти asPosix норовят всякие timezone использовать, так что можно (учитывая фиксированный формат) выдирать числа с помощью p.YYYY<-as.integer(substr(s,1,4)) и т.д. ... а потом собрать DateTime