2014-11-07 3 views
0

입니다. ggplot2를 사용하여 시계열을 그리는 데 문제가 있습니다. 나는 상대적으로 R에 익숙하지 않고 R이 내 코드를 실행할 수없는 이유를 알지 못한다. 다음과 같은 오류가 발생합니다 : "잘못된 입력 : date_trans는 Date 클래스의 개체에서만 작동합니다". 이 오류가 내게 정확히 무엇을 말하려고합니까? 나는 전에이 오류를 봤는데,이 오류가 무엇을 의미하는지에 대한 설명이없는 것처럼 보입니다. 단지 오류를 제거하기위한 코드 일뿐입니다.ggplot2 및 x 축 날짜가

나는 R로 읽은 텍스트 파일에 두 개의 데이터 열을 가지고 있습니다. 한 열에 날짜가 들어 있습니다 (예 :이 형식의 형식 : 8/1/10). 다른 하나는 날짜에 대해 음모를 표시하려는 수치 값을 포함합니다. 날짜는 월간 규모입니다 (예 : 8/1/10, 9/1/10, 10/1/10).

ggplot(df26, aes(df26$Mo_Yr, df26$Vol_Tot)) + 
    geom_line() + 
    scale_x_date(labels=date_format("%b-%y")) + 
    xlab("Date") + 
    ylab("Total Volume") 

이 어떤 도움을 주시면 감사하겠습니다 : 여기

내가 (내 dataframe이 df26에 할당 된)이 데이터의 시계열을 플롯하려고 사용했던 코드입니다!

Mo_Yr Vol_Tot 
8/1/10 691254 
9/1/10 610358 
10/1/10 629178 
11/1/10 569872 
12/1/10 531769 
1/1/11 459966 
2/1/11 428976 
3/1/11 555656 
4/1/11 570110 
5/1/11 614337 
6/1/11 661598 
7/1/11 717756 
8/1/11 693103 
9/1/11 610873 
10/1/11 613217 
11/1/11 564546 

감사 : 여기

은 (df26) 내 dataframe에서 일부 샘플 데이터입니다!

+1

'Mo_Yr'은 (는)'날짜 '클래스가 아닙니다. 'help ("as.Date")를 공부하십시오. – Roland

답변

1

Mo_Yr 열의 종류가 Date이 아닙니다. 그러나 더욱 중요한 것은 R이 형식화 될 날짜를 필요로하는 방식으로 형식화되지 않았기 때문입니다. (나는 그것이 M/D/Y로가는 맥락에서 추측하고 있지만, R은 그것을 모른다).

lubridate 패키지 (설치해야 함)는 형식에서 날짜를 구문 분석하는 좋은 방법입니다. 귀하의 경우 :

library(lubridate) 
library(scales) 
library(ggplot2) 

# the important line: 
df26$date <- as.Date(parse_date_time(df26$Mo_Yr, "%m/%d/%y")) 

print(ggplot(df26, aes(date, Vol_Tot)) + 
    geom_line() + 
    scale_x_date(labels=date_format("%b-%y")) + 
    xlab("Date") + 
    ylab("Total Volume")) 
+0

윤활유를 홍보하는 이유는 무엇입니까? 'as.Date (df26 $ Mo_Yr, format = "% m/% d/% y")'는 타이핑이 덜 필요하며 패키지가 필요하지 않습니다. – Roland

+0

늦게 응답 해 주셔서 감사합니다 - 모든 제안에 감사드립니다! 나는 as.Date를 읽고 즉시 내 해결책을 찾았습니다. 고맙습니다! – soitgoes

관련 문제