Я использую Databricks и SparkR, пытаясь извлечь месяц из поля даты, но продолжаю получать следующую ошибку при попытке использовать функцию month ():
Ошибка в as.POSIXlt.default (x, tz = tz (x)): Ошибка в as.POSIXlt.default (x, tz = tz (x)): не знаю, как преобразовать 'x' в класс «POSIXlt»
Если я использую dayofmonth (), он работает отлично, поэтому я не уверен, что делаю не так.
Вот примеры полей, с которыми я пытаюсь работать.
$ Net_due_date: Дата 2017-10-06 2017-10-05 2018-01-17 2017-12-23 2017-08-20 2018-01-17 $ Clearing_Date: Дата 2017-10-06 2017-10-17 1900-01-01 2017-12-26 2017-08-24 2018-01-19
Любые идеи?
Спасибо

Я не могу быть уверен без воспроизводимого примера, но сначала попробуйте привести столбец к метке времени.
df$Net_due_date_month <- month(cast(df$Net_due_date, 'timestamp'))
Вы можете предоставить небольшую часть своих данных, чтобы ошибка была воспроизведена. Я подозреваю, что ваш столбец даты не является форматом даты.
Вы можете попробовать любой из этих вариантов ниже:
library(lubridate)
df$Net_due_date_month <- month(as.Date(df$Net_due_date, format = '%Y-%m-%d'))
или же
df$Net_due_date_month <- month(as.POSIXlt(df$Net_due_date, format = '%Y-%m-%d'))
Извините, я здесь новичок, поэтому не знаю, как добавить воспроизводимый пример, за исключением данных, которые я привел выше. Я попробовал ваше решение, но получил ту же ошибку.