2015-06-19 43 views
0

我想繪製我的時間數據,但由於某種原因,我沒有弄清楚。我使用這個功能:如何繪製3個不同區域的時間數據?

plot(temperature~month*area, data=mydata) 

但是這個功能不區分區域。

我的例子是:

  area month temperature 
       d1 november 18,723 
       d1 november 16,963 
       d1 november 22,753 
       d1 november 30,495 
       d1 november 26,818 
       d1 november 22,944 
       i1 november 18,485 
       i1 november 17,368 
       i1 november 16,844 
       i1 november 24,171 
       i1 november 28,072 
       i1 november 28,766 
       i1 november 25,744 
       i1 november 22,920 
       c1 november 17,272 
       c1 november 16,225 
       c1 november 16,058 
       c1 november 22,920 
       c1 november 28,642 
       c1 november 26,256 
       d1 december 17,558 
       d1 december 28,468 
       d1 december 21,318 
       i1 december 21,246 
       i1 december 20,103 
       c1 december 27,776 
       c1 december 21,652 
       c1 december 19,793 
       c1 december 18,628 
       c1 december 17,796 
+0

「區域」是什麼意思?您是否正在尋找ggplot軟件包中的方面?你現在正在繪製的是day_month_year變量乘以面積變量。我猜這些都是使得這裏不是很有用的因素,但沒有可重複的數據集很難說。 – cr1msonB1ade

回答

1

你的數據是有點奇怪。你只有兩個日期。你們三個地區的每個地區都有這些日期的多個臨時地點。使用線條圖是沒有意義的。以下代碼提供了按區域分組的散點圖。它使用庫ggplot2按組進行繪圖。

dat <- read.table(
    header=TRUE, text='area day_month_year temperature 
d1 09_11_2013 18,723 
d1 09_11_2013 17,558 
d1 09_11_2013 16,963 
d1 09_11_2013 22,753 
d1 09_11_2013 28,468 
d1 09_11_2013 30,495 
d1 09_11_2013 26,818 
d1 09_11_2013 22,944 
d1 10_11_2013 21,318 
i1 09_11_2013 18,485 
i1 09_11_2013 17,368 
i1 09_11_2013 16,844 
i1 09_11_2013 24,171 
i1 09_11_2013 28,072 
i1 09_11_2013 28,766 
i1 09_11_2013 25,744 
i1 09_11_2013 22,920 
i1 10_11_2013 21,246 
i1 10_11_2013 20,103 
c1 09_11_2013 17,272 
c1 09_11_2013 16,225 
c1 09_11_2013 16,058 
c1 09_11_2013 22,920 
c1 09_11_2013 27,776 
c1 09_11_2013 28,642 
c1 09_11_2013 26,256 
c1 09_11_2013 21,652 
c1 10_11_2013 19,793 
c1 10_11_2013 18,628 
c1 10_11_2013 17,796') 

# convert temp to numeric data 
dat$temp=as.numeric(gsub(',','.',dat$temp)) 

# convert day_month_year to date and add to dataframe 
dat$date=as.Date(dat$day_month_year,"%d_%m_%Y") 

# scatter plot by group 
library(ggplot2) 
ggplot(dat, aes(x=date, y=temp, colour=area, group=area)) + geom_point() 

我注意到,您已更改日期的格式在您的數據。該解決方案使用您的原始格式。如果您想繼續使用月份名稱的新格式,則需要修改as.Date轉換。

+0

謝謝rbroberg –

+0

是的,我改變了,但第一種格式是正確的,我只是試圖簡化我的數據。我將使用你的解決方案@rbroberg。非常感謝你。 –

+1

@rbroberg;看一下'read.table'的'dec'參數,它可以節省輸入'gsub'的次數 – user20650

相關問題