Guest User

Untitled

a guest
May 21st, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. data <- tibble(
  2. shift_id = c(1, 2, 3, 4, 5, 6, 7, 8,9,10),
  3. shift_duration = c(12, 7, 30, 11, 14, 16, 19, 32,11,12),
  4. goal_for = c(1, 1, 0, 0, 1, 1, 0, 0,0,0),
  5. for_players = list(
  6. c("A", "B"),
  7. c("A", "C"),
  8. c("B", "C"),
  9. c("A", "C"),
  10. c("B", "C"),
  11. c("A", "B"),
  12. c("B", "C"),
  13. c("A", "B"),
  14. c("B", "C"),
  15. c("A", "B")
  16. ),
  17. against_players = list(
  18. c("X", "Z"),
  19. c("Y", "Z"),
  20. c("X", "Y"),
  21. c("X", "Y"),
  22. c("X", "Z"),
  23. c("Y", "Z"),
  24. c("X", "Y"),
  25. c("Y", "Z"),
  26. c("X", "Y"),
  27. c("Y", "Z")
  28. )
  29. )
  30.  
  31.  
  32. (black magic goes here)
  33.  
  34. model_data <- tibble(
  35. shift_id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
  36. shift_duration = c(12, 7, 30, 11, 14, 16, 19, 32, 11, 12),
  37. goal_for = c(1, 1, 0, 0, 1, 1, 0, 0, 0, 0),
  38. for_player_A = c(1, 1, 0, 1, 0, 1, 0, 1, 0, 1),
  39. for_player_B = c(1, 0, 1, 0, 1, 1, 1, 1, 1, 1),
  40. for_player_C = c(0, 1, 1, 1, 1, 0, 1, 0, 1, 0),
  41. against_player_X = c(1, 0, 1, 1, 1, 0, 1, 0, 1, 0),
  42. against_player_Y = c(0, 1, 1, 1, 0, 1, 1, 1, 1, 1),
  43. against_player_Z = c(1, 1, 0, 0, 1, 1, 0, 1, 0, 1)
  44. )
  45.  
  46.  
  47.  
  48. mod.gam <- mgcv::gam(
  49. data = model_data,
  50. formula = goal_for ~ offset(log(shift_duration)) + for_player_A + for_player_B + for_player_C +
  51. against_player_X + against_player_Y + against_player_Z,
  52. family = poisson(link = log)
  53. )
  54.  
  55. > data
  56. # A tibble: 10 x 5
  57. shift_id shift_duration goal_for for_players against_players
  58. <dbl> <dbl> <dbl> <list> <list>
  59. 1 1.00 12.0 1.00 <chr [2]> <chr [2]>
  60. 2 2.00 7.00 1.00 <chr [2]> <chr [2]>
  61. 3 3.00 30.0 0 <chr [2]> <chr [2]>
  62. 4 4.00 11.0 0 <chr [2]> <chr [2]>
  63. 5 5.00 14.0 1.00 <chr [2]> <chr [2]>
  64. 6 6.00 16.0 1.00 <chr [2]> <chr [2]>
  65. 7 7.00 19.0 0 <chr [2]> <chr [2]>
  66. 8 8.00 32.0 0 <chr [2]> <chr [2]>
  67. 9 9.00 11.0 0 <chr [2]> <chr [2]>
  68. 10 10.0 12.0 0 <chr [2]> <chr [2]>
  69.  
  70. > model_data
  71. # A tibble: 10 x 9
  72. shift_id shift_duration goal_for for_player_A for_player_B for_player_C against_player_X against_player_Y against_player_Z
  73. <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
  74. 1 1.00 12.0 1.00 1.00 1.00 0 1.00 0 1.00
  75. 2 2.00 7.00 1.00 1.00 0 1.00 0 1.00 1.00
  76. 3 3.00 30.0 0 0 1.00 1.00 1.00 1.00 0
  77. 4 4.00 11.0 0 1.00 0 1.00 1.00 1.00 0
  78. 5 5.00 14.0 1.00 0 1.00 1.00 1.00 0 1.00
  79. 6 6.00 16.0 1.00 1.00 1.00 0 0 1.00 1.00
  80. 7 7.00 19.0 0 0 1.00 1.00 1.00 1.00 0
  81. 8 8.00 32.0 0 1.00 1.00 0 0 1.00 1.00
  82. 9 9.00 11.0 0 0 1.00 1.00 1.00 1.00 0
  83. 10 10.0 12.0 0 1.00 1.00 0 0 1.00 1.00
  84.  
  85. Family: poisson
  86. Link function: log
  87.  
  88. Formula:
  89. goal_for ~ offset(log(shift_duration)) + for_player_A + for_player_B +
  90. for_player_C + against_player_X + against_player_Y + against_player_Z
  91.  
  92. Parametric coefficients:
  93. Estimate Std. Error z value Pr(>|z|)
  94. (Intercept) -22.0296 4317.9341 -0.005 0.996
  95. for_player_A 0.0000 0.0000 NA NA
  96. for_player_B -2.3026 2.0000 -1.151 0.250
  97. for_player_C -0.1542 1.4142 -0.109 0.913
  98. against_player_X 1.6094 1.4142 1.138 0.255
  99. against_player_Y 0.0000 0.0000 NA NA
  100. against_player_Z 20.2378 4317.9339 0.005 0.996
  101.  
  102.  
  103. Rank: 5/7
  104. R-sq.(adj) = 0.353 Deviance explained = 73.6%
  105. UBRE = 0.26435 Scale est. = 1 n = 10
Add Comment
Please, Sign In to add comment