Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. require("xts")
  2. data(sample_matrix)
  3. xtsObject <- as.xts(sample_matrix, descr="my new xts object")
  4.  
  5. ## the example ts has several variables Open High Low Close,
  6. ## here I take just one, "Open"
  7. df <- data.frame(xtsObject['/'][,"Open"], Time = index(xtsObject))
  8. head(df)
  9.  
  10. > head(df)
  11. Open Time
  12. 2007-01-02 50.03978 2007-01-02
  13. 2007-01-03 50.23050 2007-01-03
  14. 2007-01-04 50.42096 2007-01-04
  15. 2007-01-05 50.37347 2007-01-05
  16. 2007-01-06 50.24433 2007-01-06
  17. 2007-01-07 50.13211 2007-01-07
  18.  
  19. mod <- lm(Open ~ Time, data = df)
  20. summary(mod)
  21.  
  22. > mod <- lm(Open ~ Time, data = df)
  23. > summary(mod)
  24.  
  25. Call:
  26. lm(formula = Open ~ Time, data = df)
  27.  
  28. Residuals:
  29. Min 1Q Median 3Q Max
  30. -1.16144 -0.47952 -0.08462 0.57053 1.44329
  31.  
  32. Coefficients:
  33. Estimate Std. Error t value Pr(>|t|)
  34. (Intercept) 3.199e+02 1.199e+01 26.68 <2e-16 ***
  35. Time -2.302e-07 1.020e-08 -22.57 <2e-16 ***
  36. ---
  37. Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  38.  
  39. Residual standard error: 0.6146 on 178 degrees of freedom
  40. Multiple R-squared: 0.741, Adjusted R-squared: 0.7395
  41. F-statistic: 509.2 on 1 and 178 DF, p-value: < 2.2e-16
  42.  
  43. > head(coredata(xtsObject))
  44. Open High Low Close
  45. [1,] 50.03978 50.11778 49.95041 50.11778
  46. [2,] 50.23050 50.42188 50.23050 50.39767
  47. [3,] 50.42096 50.42096 50.26414 50.33236
  48. [4,] 50.37347 50.37347 50.22103 50.33459
  49. [5,] 50.24433 50.24433 50.11121 50.18112
  50. [6,] 50.13211 50.21561 49.99185 49.99185
  51.  
  52. data(sample_matrix)
  53. xtsObject <- as.xts(sample_matrix, descr="my new xts object")
  54.  
  55. #Option 1, the best by far, no need to transform to a data.frame
  56. library(dynlm)
  57. dynlm(Open ~ trend(Open), data = xtsObject)
  58.  
  59. #Option 2, another option
  60. library(dynlm)
  61. xtsObject$t <- 0:(nrow(xtsObject)-1)
  62. dynlm(Open ~ t, data = xtsObject)
  63.  
  64. #Option 3, the data.frame route
  65. df <- data.frame(xtsObject['/'][,"Open"], t = 1:nrow(xtsObject))
  66. lm(Open ~ t, df)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement