library(WDI)
tahıl <- WDI(country=c("US", "TR","JP"), indicator=c("AG.YLD.CREL.KG"), start=2000, end=2021)
names(tahil) <- c("iso2c", "Ülke", "tahıl", "Sene")
head(tahil)
##   iso2c  Ülke  tahil Sene
## 1    JP Japan     NA 2020
## 2    JP Japan     NA 2019
## 3    JP Japan 5918.8 2018
## 4    JP Japan 6048.9 2017
## 5    JP Japan 6082.9 2016
## 6    JP Japan 6091.2 2015
library(ggplot2)
ggplot(tahıl, aes(Sene, tahıl, color=Ülke, linetype=Ülke)) + geom_line()
## Warning: Removed 6 row(s) containing missing values (geom_path).

## Warning: Removed 9 row(s) containing missing values (geom_path).
TR <- cbind(tahıl$tahıl[tahıl$Ülke == "Turkey"], tahıl$Sene[tahıl$Ülke == "Turkey"])
TR <- TR[order(TR[,2]),]
TR
##         [,1] [,2]
##  [1,] 2370.6 2000
##  [2,] 2178.3 2001
##  [3,] 2242.0 2002
##  [4,] 2308.6 2003
##  [5,] 2477.9 2004
##  [6,] 2634.4 2005
##  [7,] 2661.9 2006
##  [8,] 2410.2 2007
##  [9,] 2601.3 2008
## [10,] 2808.0 2009
## [11,] 2727.1 2010
## [12,] 2970.0 2011
## [13,] 2958.3 2012
## [14,] 3256.9 2013
## [15,] 2831.5 2014
## [16,] 3307.8 2015
## [17,] 3105.4 2016
## [18,] 3257.4 2017
## [19,] 3163.9 2018
## [20,]     NA 2019
## [21,]     NA 2020
TR <- ts(TR[,1], start=min(tahıl$Sene), end=max(tahıl$Sene))
plot(TR, ylab="tahıl", xlab="Sene")

library(dynlm)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
Ilkgecikme <- dynlm(TR ~ L(TR, 1))
summary(Ilkgecikme)
## 
## Time series regression with "ts" data:
## Start = 2001, End = 2018
## 
## Call:
## dynlm(formula = TR ~ L(TR, 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -371.57 -103.20  -22.47  126.38  451.36 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 549.2550   405.8266   1.353    0.195    
## L(TR, 1)      0.8148     0.1475   5.523 4.64e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 218.9 on 16 degrees of freedom
##   (0 observations deleted due to missingness)
## Multiple R-squared:  0.6559, Adjusted R-squared:  0.6344 
## F-statistic:  30.5 on 1 and 16 DF,  p-value: 4.636e-05
Ikincigecikme <- dynlm(TR ~ L(TR, 2))
summary(Ikincigecikme)
## 
## Time series regression with "ts" data:
## Start = 2002, End = 2018
## 
## Call:
## dynlm(formula = TR ~ L(TR, 2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -343.59  -70.38   23.41  125.49  245.31 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 508.3253   348.9043   1.457    0.166    
## L(TR, 2)      0.8524     0.1284   6.639 7.88e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 177.2 on 15 degrees of freedom
##   (0 observations deleted due to missingness)
## Multiple R-squared:  0.7461, Adjusted R-squared:  0.7292 
## F-statistic: 44.08 on 1 and 15 DF,  p-value: 7.883e-06
Ucuncugecikme <- dynlm(TR ~ L(TR, 3))
summary(Ucuncugecikme)
## 
## Time series regression with "ts" data:
## Start = 2003, End = 2018
## 
## Call:
## dynlm(formula = TR ~ L(TR, 3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -324.40 -162.36   -0.23  112.30  375.69 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 982.4705   450.6331   2.180 0.046803 *  
## L(TR, 3)      0.6963     0.1674   4.159 0.000965 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 220.1 on 14 degrees of freedom
##   (0 observations deleted due to missingness)
## Multiple R-squared:  0.5527, Adjusted R-squared:  0.5207 
## F-statistic:  17.3 on 1 and 14 DF,  p-value: 0.0009649
AR10 <- dynlm(TR ~ L(TR, c(1:10)))
summary(AR10)
## 
## Time series regression with "ts" data:
## Start = 2010, End = 2018
## 
## Call:
## dynlm(formula = TR ~ L(TR, c(1:10)))
## 
## Residuals:
## ALL 9 residuals are 0: no residual degrees of freedom!
## 
## Coefficients: (2 not defined because of singularities)
##                                        Estimate Std. Error t value Pr(>|t|)
## (Intercept)                           7287.8778        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).1    -5.6893        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).2    -2.3362        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).3     2.9441        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).4     1.2039        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).5     0.5612        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).6    -0.1430        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).7    -1.6616        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).8     4.4173        NaN     NaN      NaN
## L(TR, c(1:10))zoo(coredata(x), tt).9         NA         NA      NA       NA
## L(TR, c(1:10))zoo(coredata(x), tt).10        NA         NA      NA       NA
## 
## Residual standard error: NaN on 0 degrees of freedom
##   (0 observations deleted due to missingness)
## Multiple R-squared:      1,  Adjusted R-squared:    NaN 
## F-statistic:   NaN on 8 and 0 DF,  p-value: NA
n<-200

u <- ts(rnorm(n))
v <- ts(rnorm(n))

y <- ts(rep(0,n))
for (t in 2:n){
  y[t]<- y[t-1]+u[t]
}

x <- ts(rep(0,n))
for (t in 2:n){
  x[t]<- x[t-1]+v[t]
}

plot(y,type='l', ylab="y[t-1]+u[t]")

plot(x,type='l', ylab="x[t-1]+v[t]")

Spurious <- lm(y~x)
summary(Spurious)
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.8028  -3.6840   0.3679   4.5184  14.2050 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  13.7528     0.4476   30.72   <2e-16 ***
## x             1.5226     0.1085   14.04   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.257 on 198 degrees of freedom
## Multiple R-squared:  0.4987, Adjusted R-squared:  0.4962 
## F-statistic:   197 on 1 and 198 DF,  p-value: < 2.2e-16
duragan <- dynlm(d(y) ~ d(x))
summary(duragan)
## 
## Time series regression with "ts" data:
## Start = 2, End = 200
## 
## Call:
## dynlm(formula = d(y) ~ d(x))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.36716 -0.72029  0.06349  0.67425  2.41554 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  0.12359    0.06808   1.815    0.071 .
## d(x)        -0.01592    0.06821  -0.233    0.816  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9604 on 197 degrees of freedom
## Multiple R-squared:  0.0002764,  Adjusted R-squared:  -0.004798 
## F-statistic: 0.05446 on 1 and 197 DF,  p-value: 0.8157