Используя sapply на векторе POSIXct

Я имею то, что может быть очень простым вопросом. Я хочу обработать столбец объектов POSIXct от кадра данных и генерировать вектор строк даты и времени. Я пытался использовать следующий вызов sapply

dt <- sapply(df$datetime, function(x) format(x,"%Y-%m-%dT%H:%M:%S"))

но напрасно. Я продолжаю получать следующую ошибку:

> Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L,  :
invalid 'trim' argument

Когда я применяю эту функцию к единственному объекту POSIXct из столбца, у меня нет проблемы. Таким образом, я озадачен в данный момент о том, какова проблема. Я должен сделать что-то специальное с объектами POSIXct?

7
задан Jilber Urbina 1 January 2014 в 18:01
поделиться

1 ответ

format () будет принимать аргумент вектора, поэтому format (df $ datetime, "% Y-% m-% dT% H:% M:% S ") должен делать то, что вам нужно.

Когда вы используете sapply, ваши объекты приводятся к числовым, и поэтому вызывается неправильный метод форматирования. Вы можете принудить их обратно к POSIXct, используя sapply (df $ datetime, function (x) format (as.POSIXct (x, origin = "1970-01-01"), "% Y-% m-% dT% H:% M:% S")) , но если у вас нет особой причины использовать apply , просто воспользуйтесь описанным выше методом

13
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: