2013-05-13 5 views
0

저는 R을 사용하여 선 그래프를 만들고 x 값과 y 값의 두 벡터를가집니다. 보다 구체적으로 시간이 지남에 따라 성능이 누적됩니다. 내 데이터 (data$AccBH)를 사용하여 선을 그릴 수 있습니다. 그러나 다음과 같이 코드에 y에 대한 데이터를 넣으려고하면 :'날짜가 아닌'x 값이있는 x 축 레이블

plot(data$Date, data$AccBH, type='l') 

작동하지 않습니다. 문서에서 나는이 "plot (x, y, ...)"를 읽었으므로 각 위치에 y와 x에 대한 벡터를 넣을 필요가 있다고 생각했습니다. x에 대한 나의 데이터는 예를 들어 'Jan-00'과 같이 '비 정상'날짜입니다.

기본적으로 원하는 것은 내 y 데이터의 일부 날짜를 50, 100, 150 대신 x 축에 표시하는 것입니다. 아래 그래프를 참조하십시오. 지금까지 발견 한 모든 것은 x 축에서 '실제 날짜'로 작업하고있었습니다.

아직 이미지를 게시 할 수 없다는 것을 알았습니다. 그래서 저는 먼저 그래프를 설명해야합니다.

누군가가 나를 도울 수 있다면 좋을 것입니다. 또한 이것은 제가 게시 한 첫 번째 질문이기 때문에 질문을 게시하는 방법을 변경해야한다고 생각되면 알려주십시오. 고맙습니다!

+2

읽어 보시기 바랍니다 [이] (http://stackoverflow.com/q/5963269/324364) 실제로 그것을 대답 할 수있는 충분한 정보를 우리에게 제공 질문을 작성하는 방법에 대한 지침. – joran

+0

안녕하세요. 당신을 도우려는 사람들이 많이 있다는 것을 알게 될 것입니다. 친절하게도 @joran이 링크 된 게시물을 확인하고 재현 할 수있는 예제를 제공하면 다른 사람들이 당신을 더 효과적으로 도울 수 있습니다. –

+0

Mac을 사용하는 경우 다음 기능을 사용하면 샘플 데이터를 클립 보드에 신속하게 추가 할 수 있습니다. https://raw.github.com/rsaporta/pubR/gitbranch/reproduce.R –

답변

1

너는 기대할 수 없어. R and plot() to make 인간이 이해하고 있지만 컴퓨터에 횡설수설하는 임의의 문자열의 숫자 값!

귀하의 데이터 프레임에있는 Date 벡터가 날짜를 나타내는 것으로 알려야합니다 (예 : R). "Date"의 개체. 이제 거기에 일이 없으므로, 우리는 그것들을 만들어야합니다 - 매월 처음만으로 충분할 것입니다. 이 간단한 예는 데이터 I Dateas.Date() 통해 "Date" 객체임을 알려 R

df <- data.frame(Date = paste(month.abb, "13", sep = "-"), 
       AccBH = rnorm(12)) 

설정 고려한다. 이미 df에있는 월 - 연도 조합 각각에 01-을 붙이고 있습니다. 적절한 format 지정은 또한 우리가 올바른 형식의 데이터를 일단 str()에 의해 다음과 같이,

(그 자세한 내용은 ?strftime을 읽기) 날짜의 요소를 "읽기"하는 방법을 R에게 제공 적절하게 기능

> str(df) 
'data.frame': 12 obs. of 2 variables: 
$ Date : Date, format: "2013-01-01" "2013-02-01" ... 
$ AccBH: num 0.494 -0.759 -2.204 -2.004 2.808 ... 

plot() 작품 : 같은 것을 생산

plot(AccBH ~ Date, data = df, type = "l") 

(당신 ') 서로 다른 데이터를 것이다 :

enter image description here

을 서로 다른 라벨을 원하는 경우에, 당신은 그것을, 예를 들어, 자신을 지정해야합니다

enter image description here

plot(AccBH ~ Date, data = df, type = "l", xaxt = "n") 
with(df, axis.Date(side = 1, x = Date, format = "%b-%y")) 

은 자세한 내용은 ?axis.Date를 참조하십시오.

참고 올해의 특정 데이터 형식 인 "yearmon" 클래스가있는 동물원 패키지가 있습니다. 당신은

require("zoo") 
df2 <- transform(df2, Date = as.yearmon(Date, format = "%b-%y")) 

그런 다음 이렇게

zobj <- with(df2, zoo(AccBH, order.by = Date)) 

이 제공 만든 변수를 사용하여 "zoo" 객체를 생성 as.yearmon() 기능의 사용을 통해 원래의 데이터

df2 <- data.frame(Date = paste(month.abb, "13", sep = "-"), 
        AccBH = rnorm(12)) 

만지작없이 사용할 수 있습니다

> zobj 
    Jan 2013  Feb 2013  Mar 2013  Apr 2013  May 2013  Jun 2013 
-0.607986011 1.741046878 -0.603960213 -1.319397405 -0.355051912 0.296862314 
    Jul 2013  Aug 2013  Sep 2013  Oct 2013  Nov 2013  Dec 2013 
0.235978782 -0.308123299 -0.200230379 -0.004428621 -0.858600654 -0.241808594 
다음

plot(zobj) 

를 꾸몄다하지만 그것이 축 라벨의 자신의 방법입니다했다 유의 할 수 63,210

.

enter image description here