R 수정 방법: as.date.numeric(x)의 오류: 'origin'을 제공해야 합니다.


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

  dirty dates
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() 함수에서 Origin 인수를 사용하지 않았기 때문에 오류가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 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

        dirty dates
1 2020-01-28 12
2 2020-05-20 22
3 2020-06-29 30
4 2020-07-19 31

원본 날짜를 제공함으로써 R은 제공된 원본에 일 수를 추가하여 숫자를 날짜로 변환했습니다.

예를 들어:

  • 첫 번째 날짜 값인 27은 원래 날짜인 2020-01-01에 27일을 추가하여 2020-01-28 로 변환되었습니다.
  • 두 번째 날짜 값 140 은 원래 날짜인 2020년 1월 1일 에 140일을 더하여 2020년 5월 20일로 변환되었습니다.

등등.

또한 class() 함수를 사용하여 새 열이 실제로 날짜인지 확인할 수도 있습니다.

 #display class of date column
class(df$date)

[1] “Date”

이제 새 열은 숫자가 아닌 날짜입니다.

추가 리소스

다음 튜토리얼에서는 R의 다른 일반적인 오류를 해결하는 방법을 설명합니다.

R에서 수정하는 방법: 이름이 이전 이름과 일치하지 않습니다.
R에서 수정하는 방법: 긴 물체의 길이가 더 짧은 물체 길이의 배수가 아닙니다.
R에서 수정하는 방법: 대비는 수준이 2개 이상인 요인에만 적용할 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다