Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1. #Setup
  2.  
  3. setwd("C:/Users/Jeff/Desktop/TagPro Analytics")
  4. library("RJSONIO", lib.loc="~/R/win-library/3.2")
  5. players <- fromJSON("bulkplayers (1).json")
  6. matches <- fromJSON("bulkmatches (1).json")
  7. maps <- fromJSON("bulkmaps (1).json")
  8.  
  9. #Creating List of Grouped Matches of 10 Minutes
  10.  
  11. players_sample <- NULL
  12.  
  13. x <- 1
  14. for(i in 1:223302){
  15. if(matches[[i]]$ group == "redacted" && matches[[i]]$ timeLimit == 10){
  16. players_sample[[x]] <- i
  17. x <- x + 1
  18. }
  19. }
  20.  
  21. #Players
  22.  
  23. PlayersID <- NULL
  24. Auth <- NULL
  25. Name <- NULL
  26. Flair <- NULL
  27. Degree <- NULL
  28. Score <- NULL
  29. Points <- NULL
  30. Team <- NULL
  31. Events <- NULL
  32.  
  33. x <- 1
  34. for(i in players_sample){
  35. for(n in players[[i]]){
  36. PlayersID[[x]] <- i
  37. Auth[[x]] <- n$ auth
  38. Name[[x]] <- n$ name
  39. Flair[[x]] <- n$ flair
  40. Degree[[x]] <- n$ degree
  41. Score[[x]] <- n$ score
  42. Points[[x]] <- n$ points
  43. Team[[x]] <- n$ team
  44. Events[[x]] <- n$ events
  45. x <- x + 1
  46. }
  47. }
  48.  
  49. df_players <- data.frame(PlayersID, Auth, Name, Flair, Degree, Score, Points, Team, stringsAsFactors=FALSE, check.rows=FALSE)
  50.  
  51. #Matches
  52.  
  53. MatchesID <- NULL
  54. Port <- NULL
  55. Group <- NULL
  56. Date <- NULL
  57. TimeLimit <- NULL
  58. Duration <- NULL
  59. MapID <- NULL
  60. Team1Name <- NULL
  61. Team1Score <- NULL
  62. Team2Name <- NULL
  63. Team2Score <- NULL
  64. Result <- NULL
  65.  
  66. x <- 1
  67. for(i in players_sample){
  68. MatchesID[[x]] <- i
  69. Port[[x]] <- matches[[i]]$ port
  70. Group[[x]] <- matches[[i]]$ group
  71. Date[[x]] <- matches[[i]]$ date
  72. TimeLimit[[x]] <- matches[[i]]$ timeLimit
  73. Duration[[x]] <- matches[[i]]$ duration
  74. MapID[[x]] <- matches[[i]]$ mapId
  75. Team1Name[[x]] <- matches[[i]]$ teams[[1]]$ name
  76. Team1Score[[x]] <- matches[[i]]$ teams[[1]]$ score
  77. Team2Name[[x]] <- matches[[i]]$ teams[[2]]$ name
  78. Team2Score[[x]] <- matches[[i]]$ teams[[2]]$ score
  79. if(Team1Score[[x]] > Team2Score[[x]]){
  80. Result[[x]] <- 1
  81. } else if(Team1Score[[x]] < Team2Score[[x]]){
  82. Result[[x]] <- 2
  83. } else {
  84. Result[[x]] <- 1.5
  85. }
  86. x <- x + 1
  87. }
  88.  
  89. df_matches <- data.frame(MatchesID, Port, Group, Date, TimeLimit, Duration, MapID, Team1Name, Team1Score, Team2Name, Team2Score, Result, stringsAsFactors=FALSE, check.rows=FALSE)
  90.  
  91. #Matches -> Players
  92.  
  93. Port <- NULL
  94. Group <- NULL
  95. Date <- NULL
  96. TimeLimit <- NULL
  97. Duration <- NULL
  98. MapID <- NULL
  99. Team1Name <- NULL
  100. Team1Score <- NULL
  101. Team2Name <- NULL
  102. Team2Score <- NULL
  103. Result <- NULL
  104.  
  105. for(i in 1:nrow(df_matches)){
  106. Port[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Port[[i]]
  107. Group[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Group[[i]]
  108. Date[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Date[[i]]
  109. TimeLimit[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$TimeLimit[[i]]
  110. Duration[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Duration[[i]]
  111. MapID[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$MapID[[i]]
  112. Team1Name[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Team1Name[[i]]
  113. Team1Score[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Team1Score[[i]]
  114. Team2Name[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Team2Name[[i]]
  115. Team2Score[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Team2Score[[i]]
  116. Result[df_players$PlayersID == df_matches$MatchesID[[i]]] <- df_matches$Result[[i]]
  117. }
  118.  
  119. df_players <- cbind(df_players, Port)
  120. df_players <- cbind(df_players, Group)
  121. df_players <- cbind(df_players, Date)
  122. df_players <- cbind(df_players, TimeLimit)
  123. df_players <- cbind(df_players, Duration)
  124. df_players <- cbind(df_players, MapID)
  125. df_players <- cbind(df_players, Team1Name)
  126. df_players <- cbind(df_players, Team1Score)
  127. df_players <- cbind(df_players, Team2Name)
  128. df_players <- cbind(df_players, Team2Score)
  129. df_players <- cbind(df_players, Result)
  130.  
  131. #Maps
  132.  
  133. ID <- NULL
  134. Name <- NULL
  135. Author <- NULL
  136. MarsBalls <- NULL
  137. Width <- NULL
  138. Tiles <- NULL
  139.  
  140. for(i in 1:1145){
  141. ID[[i]] <- i
  142. Name[[i]] <- maps[[i]]$ name
  143. Author[[i]] <- maps[[i]]$ author
  144. MarsBalls[[i]] <- maps[[i]]$ marsballs
  145. Width[[i]] <- maps[[i]]$ width
  146. Tiles[[i]] <- maps[[i]]$ tiles
  147. }
  148.  
  149. df_maps <- data.frame(ID, Name, Author, MarsBalls, Width, Tiles, stringsAsFactors=FALSE, check.rows=FALSE)
  150.  
  151. #Wins
  152.  
  153. for(i in 1:nrow(df_players)){
  154. if(df_players$Team[[i]] == df_players$Winner[[i]]) {
  155. Result[i] <- "Win"
  156. } else if(df_players$Winner[[i]] == 1.5) {
  157. Result[i] <- "Tie"
  158. } else if(df_players$Team[[i]] == 0) {
  159. Result[i] <- "None"
  160. } else {
  161. Result[i] <- "Loss"
  162. }
  163. }
  164.  
  165. df_players <- cbind(df_players, Result)
  166.  
  167. #Degree
  168.  
  169. df_degrees <- data.frame(unique(df_players$Degree, stringsAsFactors=FALSE, check.rows=FALSE))
  170. names(df_degrees)[1] <- "Degree"
  171.  
  172. Wins <- NULL
  173. Losses <- NULL
  174. Ties <- NULL
  175. LateJoin <- NULL
  176. Games <- NULL
  177. WinPerc <- NULL
  178. WinPercMod <- NULL
  179.  
  180. for(i in 1:nrow(df_degrees)){
  181. Wins[[i]] <- length(which(df_players$Degree == df_degrees$Degree[[i]] & df_players$Result == "Win"))
  182. Losses[[i]] <- length(which(df_players$Degree == df_degrees$Degree[[i]] & df_players$Result == "Loss"))
  183. Ties[[i]] <- length(which(df_players$Degree == df_degrees$Degree[[i]] & df_players$Result == "Tie"))
  184. LateJoin[[i]] <- length(which(df_players$Degree == df_degrees$Degree[[i]] & df_players$Result == "None"))
  185. Games[[i]] <- Wins[[i]] + Losses[[i]] + Ties[[i]]
  186. WinPerc[[i]] <- Wins[[i]] / Games[[i]]
  187. WinPercMod[[i]] <- (Wins[[i]] + 0.5*Ties[[i]])/ Games[[i]]
  188. }
  189.  
  190. df_degrees <- cbind(df_degrees, Games)
  191. df_degrees <- cbind(df_degrees, Wins)
  192. df_degrees <- cbind(df_degrees, Losses)
  193. df_degrees <- cbind(df_degrees, Ties)
  194. df_degrees <- cbind(df_degrees, LateJoin)
  195. df_degrees <- cbind(df_degrees, WinPerc)
  196. df_degrees <- cbind(df_degrees, WinPercMod)
  197.  
  198. #Plot: Degrees vs. Win Percentage
  199.  
  200. plot(df_degrees$Degree[df_degrees$Degree < 150 & df_degrees$Degree > 20], df_degrees$WinPercMod[df_degrees$Degree < 150 & df_degrees$Degree > 20])
  201. title(main = "Win Percentage vs. Degrees")
  202. abline(lm(df_degrees$WinPercMod[df_degrees$Degree < 150 & df_degrees$Degree > 20]~df_degrees$Degree[df_degrees$Degree < 150 & df_degrees$Degree > 20]))
  203.  
  204. #Bar Plot
  205.  
  206. for(i in 1:20){
  207. for(n in 1:10){
  208. WinPercMod[[n]] <- df_degrees$WinPercMod[[((i-1)*10)+n]]
  209. WinPercMean[[i]] <- mean(WinPercMod)
  210. }
  211. }
  212.  
  213. barplot(WinPercMean)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement