Guest User

Untitled

a guest
Jan 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. library('mgcv')
  2. set.seed(1)
  3. dat <- gamSim(1, n = 400, scale = 2, verbose = FALSE) ## 4 term additive truth
  4.  
  5. ## add a factor for the random effect and include it's effect in the simulated data
  6. fac <- as.factor(sample(1:10, 400, replace = TRUE))
  7. dat$X <- model.matrix(~ fac - 1)
  8. b <- rnorm(10) * 0.5
  9. dat <- transform(dat, y = y + X %*% b)
  10.  
  11. ## fit the model
  12. m <- gam(y ~ s(fac, bs = "re") + s(x0), data = dat, method = "ML")
  13.  
  14. > coef(m)
  15. (Intercept) s(fac).1 s(fac).2 s(fac).3 s(fac).4 s(fac).5
  16. 7.71917475 0.24762873 0.48122511 -0.17534482 0.03670067 -0.03800310
  17. s(fac).6 s(fac).7 s(fac).8 s(fac).9 s(fac).10 s(x0).1
  18. -0.52197990 0.53661911 -0.23833765 -0.26088376 -0.06762439 0.02740419
  19. s(x0).2 s(x0).3 s(x0).4 s(x0).5 s(x0).6 s(x0).7
  20. 0.15183166 -0.06347520 -0.15041864 -0.04918018 0.15609539 -0.03564953
  21. s(x0).8 s(x0).9
  22. 0.78256472 -0.26510925
  23.  
  24. > head(model.matrix(m)[, 2:11])
  25. s(fac).1 s(fac).2 s(fac).3 s(fac).4 s(fac).5 s(fac).6 s(fac).7 s(fac).8
  26. 1 1 0 0 0 0 0 0 0
  27. 2 1 0 0 0 0 0 0 0
  28. 3 0 0 0 0 0 0 0 0
  29. 4 0 0 0 0 0 0 0 1
  30. 5 1 0 0 0 0 0 0 0
  31. 6 0 0 0 0 0 1 0 0
  32. s(fac).9 s(fac).10
  33. 1 0 0
  34. 2 0 0
  35. 3 0 1
  36. 4 0 0
  37. 5 0 0
  38. 6 0 0
  39.  
  40. > m[['smooth']][[1L]][['S']]
  41. [[1]]
  42. [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
  43. [1,] 1 0 0 0 0 0 0 0 0 0
  44. [2,] 0 1 0 0 0 0 0 0 0 0
  45. [3,] 0 0 1 0 0 0 0 0 0 0
  46. [4,] 0 0 0 1 0 0 0 0 0 0
  47. [5,] 0 0 0 0 1 0 0 0 0 0
  48. [6,] 0 0 0 0 0 1 0 0 0 0
  49. [7,] 0 0 0 0 0 0 1 0 0 0
  50. [8,] 0 0 0 0 0 0 0 1 0 0
  51. [9,] 0 0 0 0 0 0 0 0 1 0
  52. [10,] 0 0 0 0 0 0 0 0 0 1
Add Comment
Please, Sign In to add comment