Одна ошибка, с которой вы можете столкнуться в R:
Error in as.Date.numeric(x) : 'origin' must be supplied
Эта ошибка обычно возникает, когда вы пытаетесь преобразовать число в дату в R, но не можете указать исходную дату.
В этом руководстве рассказывается, как именно исправить эту ошибку.
Как воспроизвести ошибку
Предположим, у нас есть следующий фрейм данных в R, который показывает общий объем продаж, сделанных какой-либо компанией в разные дни:
#create data frame
df <- data.frame(date=c(27, 140, 180, 200),
sales=c(12, 22, 30, 31))
#view data frame
df
date sales
1 27 12
2 140 22
3 180 30
4 200 31
Мы можем использовать функцию str() для просмотра структуры фрейма данных:
#view structure of data frame
**str(df)
'data.frame': 4 obs. of 2 variables:
$ date : num 27 140 180 200
$ sales: num 12 22 30 31
Мы видим, что столбцы даты и продаж являются числовыми.
Теперь предположим, что мы пытаемся преобразовать столбец даты в формат даты:
#attempt to convert date column to date format
df$date <- as. Date (df$date)
Error in as.Date.numeric(df$date) : 'origin' must be supplied
Мы получаем ошибку, потому что мы не использовали исходный аргумент в функции as.Date () .
Как исправить ошибку
Чтобы исправить эту ошибку, просто укажите исходную дату, чтобы R знал, как преобразовать числа в даты:
#convert date column to date format, using 2020-01-01 as origin date
df$date <- as. Date (df$date, origin=" 2020-01-01 ")
#view updated data frame
df
date sales
1 2020-01-28 12
2 2020-05-20 22
3 2020-06-29 30
4 2020-07-19 31
Указав дату происхождения, R преобразовал числа в даты, добавив количество дней к предоставленному источнику.
Например:
- Первое значение даты 27 было преобразовано в 2020-01-28 путем добавления 27 дней к исходной дате 2020-01-01.
- Второе значение даты 140 было преобразовано в 2020-05-20 путем добавления 140 дней к исходной дате 2020-01-01.
И так далее.
Мы также можем использовать функцию class() , чтобы подтвердить, что новый столбец действительно является датой:
#display class of date column
class(df$date)
[1] "Date"
Новый столбец теперь представляет собой дату, а не число.
Дополнительные ресурсы
В следующих руководствах объясняется, как устранять другие распространенные ошибки в R:
Как исправить в R: имена не совпадают с предыдущими именами
Как исправить в R: более длинная длина объекта не кратна более короткой длине объекта
Как исправить в R: контрасты могут применяться только к факторам с 2 или более уровнями