В моем наборе данных excel (.xlsx) есть столбец раз (с именем "necro_time"; отформатированный %H:%M:%S
). Когда я импортирую свои данные («тест») с помощью функции read_excel (библиотека readxl), он автоматически форматирует мой временной столбец как POSIXct в формате Y-M-D H:M:S
, по существу применяя случайную дату «1899-12 -31 "к каждому из моих времен. Когда я использую функцию strptime
, чтобы попытаться убрать дату, чтобы сохранить только время, которое она возвращает NA
с. Я перепробовал все комбинации форматов даты и времени, а также создал новые столбцы и попытался разобрать дату и время таким образом (не то, что я хочу делать в любом случае), и ничего не работает.
Совет?
структура моего фрейма данных:
> str(test)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 1051 obs. of 43 variables:
...
$ necro_date : POSIXct, format: "1900-01-01" "2018-12-19" "2018-12-19" ...
$ necro_time : POSIXct, format: "1899-12-31 23:59:00" "1899-12-31 11:12:00" "1899-12-31 11:03:00" ...
код, который я пытаюсь запустить:
test$necro_time = (strptime(test$necro_time, format = "%H:%M:%S")
возвращает:
> str(test)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 1051 obs. of 43 variables:
...
$ necro_date : POSIXct, format: "1900-01-01" "2018-12-19" "2018-12-19" ...
$ necro_time : POSIXct, format: NA NA NA ...
Я также пытался:
test$necro_time = as.POSIXct(strptime(test$necro_time, format = "%Y-%M-%D"))
test$necro_time = as.POSIXct(strptime(test$necro_time, format = "%Y-%M-%D %H:%M:%S"))
test$necro_time = strptime(test$necro_time, format = "%I:%M %p")
все возвращают полный столбец NA
с. Я чувствую, что это что-то простое, но я не могу понять, что я делаю неправильно. Заранее спасибо.