2017-10-18 2 views
0

나는 x 축에 날짜 시간이있는 간단한 xy 플롯을 얻으려고 노력해 왔습니다. 나는 이것에 몇몇 포스트의 합병을 아무 소용이 없던 시도했다. 여기 R ggplot date time issue

는 샘플 데이터입니다 : 나는 "ENV"로 CSV 수입
datetime,temp,humidity 
2017-10-15 15:00:00,84.05,36.36 
2017-10-15 16:00:00,84.21,36.21 
2017-10-15 17:00:00,82.74,41.79 

나는 다음이 코드를 실행

: 오류 :

env$'date-time' <- as.POSIXct(env$'date-time',format = "%y%m%d %H:%M:%S") 
library(scales) 
x <-ggplot(env, aes(x='date-time')) + 
    geom_line(aes(y = temp)) + 
    geom_line(aes(y = humidity)) + 
    scale_x_datetime(labels = date_format("%Y-%m-%d %H:%M:%S")) 
x 

이 오류입니다 : 잘못된 입력 : time_trans는 POSIXct 클래스의 객체에서만 작동합니다.

str(env) produces this: 
$ date-time: POSIXct, format: "2017-10-15 15:00:00" "2017-10-15 16:00:00" 
"2017-10-15 17:00:00" ... 
$ temp  : num 84 84.2 82.7 83.1 83.2 ... 
$ humidity : num 36.4 36.2 41.8 45.2 46 ... 
+0

예제 데이터에는'datetime'이 있습니다. 코드에는'date-time' (하이픈 포함)이 있습니다. 어느 것이 맞습니까? – neilfws

+0

예. 열 이름을 가지고 노는 것과 같은 간단한 오자. "-"를 제거하면 이름을 인용 할 필요가 없습니다. – Chuck

답변

2

이 줄은 잘못된 것입니다 :

env$'date-time' <- as.POSIXct(env$'date-time',format = "%y%m%d %H:%M:%S") 

형식이 그 문제를 해결하는 경우

format="%Y-%m-%d %H:%M:%S" 참조해야한다.

+0

'datetime' (질문 예제 데이터에있는 것)과 달리 열이'date-time' (질문 코드 에서처럼)이라면 이것은 작동합니다. – neilfws

+1

@neilfws 예,하지만 열의 이름이 올바르게 지정되었다고 가정하면 제공된 코드의 첫 번째 행에 지정된 'format'이 잘못되었습니다. – Mako212

+1

알아요. 변수 이름에서 모호성을 강조한 것뿐입니다. – neilfws