2017-05-29 58 views
-3
library(tidyverse) # Includes the packages ggplot2 and tidyr, which we   use below 

# Get the time values for the time series 
Time = attributes(co2)[[1]] 
Time = seq(Time[1],Time[2], length.out=(Time[2]-Time[1])*Time[3]) 

# Convert td to data frame 
dat = cbind(Time, with(td, data.frame(Observed=x, Trend=trend,   Seasonal=seasonal, Random=random))) 

ggplot(gather(dat, component, value, -Time), aes(Time, value)) + 
facet_grid(component ~ ., scales="free_y") + 
    geom_line() + 
    theme_bw() + 
    labs(y=expression(CO[2]~(ppm)), x="Year") + 
    ggtitle(expression(Decomposed~CO[2]~Time~Series)) + 
    theme(plot.title=element_text(hjust=0.5)) 

我知道它是關於用ggplot進行時間序列分解的。大部分我需要在第3和第4行上解釋。我想在代碼上應用每月時間系列。請爲我解讀這個r碼

回答

0

您似乎具有至少3

seq(Time[1],Time[2], length.out=(Time[2]-Time[1])*Time[3]) 

長度的矢量Time創建從Time[1]Time[2]的序列和得到的載體具有如圖Time[2]-Time[1])*Time[3]計算出的長度。

下面這行只是將一些對象綁定到一個工作的data.frame中。 Data.frames對於能夠使用ggplot2繪圖是必需的。 ggplot2代碼是或多或少基本的樣板文件,您應該能夠辨別自己(請參閱superb documentation)。

即使您沒有數據,您也可以自己嘗試。

Time <- c(1, 10, 5) 
seq(from = Time[1], to = Time[2], length.out = (Time[2] - Time[1]) * Time[3]) 

[1] 1.000000 1.204545 1.409091 1.613636 1.818182 2.022727 2.227273 
[8] 2.431818 2.636364 2.840909 3.045455 3.250000 3.454545 3.659091 
[15] 3.863636 4.068182 4.272727 4.477273 4.681818 4.886364 5.090909 
[22] 5.295455 5.500000 5.704545 5.909091 6.113636 6.318182 6.522727 
[29] 6.727273 6.931818 7.136364 7.340909 7.545455 7.750000 7.954545 
[36] 8.159091 8.363636 8.568182 8.772727 8.977273 9.181818 9.386364 
[43] 9.590909 9.795455 10.000000 

我會要求您使用您的數據進行重置。

+0

@economia抱歉,這對我來說並不明顯...... –