2011-10-28 6 views
2

저는 R에 처음으로 익숙하며 그룹화 된 데이터를 날짜와 비교하여 플로팅하는 데 어려움이 있습니다. 4 년 동안 한 달 씩 그룹화 된 데이터입니다. 나는 2008 년 5 월이 2009 년 5 월과 그룹화되기를 원하지 않지만 오히려 표준 오류가있는 각 달의 각 달을 지적합니다. 지금까지는 제 코드가 있지만 점이없는 빈 그래프가 나타납니다. 나는 축을 제거 할 수 있습니다. POSIXct 선과 점과 오차 막대가있는 그래프를 얻습니다. 문제는 축 대 플롯의 축척 또는 데이터 형식 주위에있는 것 같습니다. 누구든지 나를 도울 수 있습니까?날짜가있는 문제 플로팅 R

> r <- as.POSIXct(range(refmCount$mo.yr), "month") 
> 
> ############# can get plot and points to line up on the x-axis########################## 
> plot(refmCount$mo.yr, refmCount$count, type = "n", xaxt = "n", 
+  xlab = "Date", 
+  ylab = "Mean number of salamanders per night", 
+  xlim = c(r[1], r[2])) 
> axis.POSIXct(1, at = seq(r[1], r[2], by = "month"), format = "%b") 
> points(refmCount$mo.yr, refmCount$count, type = "p", pch = 19) 
points(depmCount$mo.yr, depmCount$count, type = "p", pch = 24) 
> arrows(refmCount$mo.yr, refmCount$count+mCount$se, refmCount$mo.yr, refmCount$count- refmCount$se, angle=90, code=3, length=0) 
> 
> str(refmCount) 
'data.frame': 19 obs. of 7 variables: 
$ mo.yr:Class 'Date' num [1:19] 14000 14031 14061 14092 14123 ... 
$ trt : Factor w/ 2 levels "Depletion","Reference": 2 2 2 2 2 2 2 2 2 2 ... 
$ N : num 75 110 15 10 34 20 20 10 40 15 ... 
$ count: num 3.6 5.95 3.47 6.7 11.12 ... 
$ sd : num 8.58 8.4 4.42 3.47 11.88 ... 
$ se : num 0.99 0.801 1.142 1.096 2.037 ... 
$ ci : num 1.97 1.59 2.45 2.48 4.14 ... 
> r 
[1] "2008-04-30 20:00:00 EDT" "2011-05-31 20:00:00 EDT" 
> 

답변

1

두 가지 선택 사항이 있습니다. "zoo"패키지를 설치하고 yearmon 클래스를 사용하거나 2005 년 5 월이 2005.4167이되도록 월을 계산하십시오. paste(month.abb[month], year)으로 더 예쁜 라벨을 만들 수 있습니다.

+0

알아 냈습니다. 이전에 코드에서 mo.yr 변수를 만들 때 as.POSIXct 대신 as.Date를 사용 했으므로 축이 하나의 형식이고 다른 변수가 다른 변수에 포함되었습니다. 더 일찍 코드의 150 줄 이었기 때문에 나는 그것을 놓쳤습니다. 도와 주셔서 감사합니다. – djhocking