Strptime не работает при работе с фреймом данных - PullRequest
0 голосов
/ 05 января 2019

Strptime, похоже, чего-то не хватает в этом сценарии:

aDateInPOSIXct <- strptime("2018-12-31", format = "%Y-%m-%d")
someText <- "asdf"
df <- data.frame(aDateInPOSIXct, someText, stringsAsFactors = FALSE)
bDateInPOSIXct <- strptime("2019-01-01", format = "%Y-%m-%d")

df[1,1] <- bDateInPOSIXct

Присвоение bDate для фрейма данных завершается с помощью:

Ошибка в as.POSIXct.numeric (значение): необходимо указать 'origin'

И предупреждение:

предоставил 11 переменных для замены 1 переменной

Я хочу использовать даты POSIXct и дату-время POSIXct, чтобы сравнить это и это. Это намного меньше работы, чем манипулирование строками символов - и POSIX заботится о проблемах с часовым поясом. К сожалению, я что-то упускаю.

1 Ответ

0 голосов
/ 05 января 2019

Вам нужно только перевести ваши звонки на strptime на POSIXct явно:

aDateInPOSIXct <- as.POSIXct(strptime("2018-12-31", format = "%Y-%m-%d"))
someText <- "asdf"
df <- data.frame(aDateInPOSIXct, someText, stringsAsFactors = FALSE)
bDateInPOSIXct <- as.POSIXct(strptime("2019-01-01", format = "%Y-%m-%d"))

df[1,1] <- bDateInPOSIXct

Проверьте документацию R , в которой написано:

Ввод символов сначала преобразуется в класс "POSIXlt" с помощью strptime: числовой ввод сначала преобразуется в "POSIXct".

...