{"cells":[{"metadata":{"_uuid":"6950c6d4e4af440c7537362ae0ce7b54407668ee"},"cell_type":"markdown","source":"The libraries"},{"metadata":{"_uuid":"cab5e28f65f8a49ef98310a49720297ecb1bbf99","_execution_state":"idle","trusted":false,"_kg_hide-output":false,"_kg_hide-input":true},"cell_type":"code","source":" \nlibrary(\"tidyverse\")\nlibrary(\"stringr\")\nlibrary(\"gridExtra\")\nlibrary(\"dplyr\")\nlibrary(\"lubridate\")\nlibrary(\"utils\")","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"7e1673bba9a2a8c68a147acd20841ae58d735438"},"cell_type":"markdown","source":"Now we load the data"},{"metadata":{"_kg_hide-input":true,"_kg_hide-output":false,"trusted":true,"_uuid":"08f107f0beebaa7d56694062c6f02069e7c4a00f"},"cell_type":"code","source":"\n#Read in the game data\ngame_data<- read.csv('../input/game_data.csv')\nNGS_2016_reg_wk1_6 <- read.csv('../input/NGS-2016-reg-wk1-6.csv')\nNGS_2016_reg_wk13_17 <- read.csv('../input/NGS-2016-reg-wk13-17.csv')\nNGS_2016_reg_wk7_12 <- read.csv('../input/NGS-2016-reg-wk7-12.csv')\nNGS_2017_reg_wk1_6 <- read.csv('../input/NGS-2017-reg-wk1-6.csv')\nNGS_2017_reg_wk13_17 <- read.csv('../input/NGS-2017-reg-wk13-17.csv')\nNGS_2017_reg_wk7_12 <- read.csv('../input/NGS-2017-reg-wk7-12.csv')\nplay_information <- read.csv('../input/play_information.csv')\nplay_player_role_data <- read.csv('../input/play_player_role_data.csv')\nplayer_punt_data <- read.csv('../input/player_punt_data.csv')\nvideo_review <- read.csv('../input/video_review.csv')","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"e0a8338ea120577d84082351f4a9859faae7a5e5"},"cell_type":"markdown","source":"Now we will change some character variables that can be factor variables or dates.Usings glimpse()"},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"16b89bfe5ad66f7b0c325b9042ba7e82bd549689"},"cell_type":"code","source":" #Video_Review\nvideo_review$Primary_Impact_Type <- as.factor(video_review$Primary_Impact_Type)\nvideo_review$Player_Activity_Derived <- as.factor(video_review$Player_Activity_Derived)\nvideo_review$Friendly_Fire <- as.factor(video_review$Friendly_Fire)\nvideo_review$Primary_Partner_Activity_Derived <- as.factor(video_review$Primary_Partner_Activity_Derived)\nvideo_review$Turnover_Related <- as.factor(video_review$Turnover_Related)\nvideo_review$Primary_Partner_GSISID <- as.numeric(video_review$Primary_Partner_GSISID)\n\n#Play_Infomatation\nplay_information$Game_Date <- mdy(play_information$Game_Date)\nplay_information$Play_Type <- as.factor(play_information$Play_Type)\nplay_information$Poss_Team <- as.factor(play_information$Poss_Team)\nplay_information$Season_Type <- as.factor(play_information$Season_Type)\n\n#Play_Player_Role\nplay_player_role_data$Role <- as.factor(play_player_role_data$Role)\n\n#PlayerPuntData\nplayer_punt_data$Position <- as.factor(player_punt_data$Position)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"dca0f1d2af7da6632da2ded2f05fa4d26725a7bb"},"cell_type":"markdown","source":"A brief look at the NGS file from week 7 through week 12 during the regular season of 2017."},{"metadata":{"_kg_hide-output":false,"_kg_hide-input":true,"trusted":true,"_uuid":"a1821164a4fdda8b57f39218914cdeff82cf7b12"},"cell_type":"code","source":"head(NGS_2017_reg_wk7_12)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"deefd7bd42eb5324868126af47d356f018deb7ed"},"cell_type":"markdown","source":"Then I will extract \"NGS\" data on players who have suffered concussions.\nDue to the many NGS files to go through, I will use nested loops to automate the process.\nBefore, to do the loops, I'm going to do vectors with the relevant years, seasons and weeks to help in the loop."},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"36c7f48e2b36be9fc53f3715d36b891a7b761745"},"cell_type":"code","source":"\nfyears =c(\"_2016\",\"_2017\")\nseason = \"_reg\"\nweeks = c(\"_wk1_6\",\"_wk7_12\",\"_wk13_17\")\n\n","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"9f3ca2e55174bb0066ee9e48e54f9bfcf7c6e528"},"cell_type":"code","source":"for (fyear in fyears){\n    for (week in weeks){\n        \n        ##Step1, Make inputs specifically for the NGS file\n        #Inputs for the NGS File\n        ngsfilename = eval(parse(text= paste(\"NGS\",fyear,season,week,sep=\"\")))\n       \n        \n        \n        #Step2, make separate files of game ids, play ids and player ids for scenarios were players were injured\n        assign(paste(\"injure_game_id\",fyear,sep=\"\"),subset(video_review, Season_Year == as.numeric(str_sub(fyear,start=2,end=5)))$GameKey)\n        assign(paste(\"injure_play_id\",fyear,sep=\"\"),subset(video_review, Season_Year == as.numeric(str_sub(fyear,start=2,end=5)))$PlayID)\n        assign(paste(\"injure_player_id\",fyear,sep=\"\"),subset(video_review, Season_Year == as.numeric(str_sub(fyear,start=2,end=5)))$GSISID)\n\n        ####In this script, I am going to get the NGS for players who suffered concussions\n\n\n        #Getting relevant games\n        a = tibble()\n        for (i in eval(parse(text = paste(\"injure_game_id\",fyear,sep=\"\")))) {\n          a <- rbind(a, ngsfilename %>%\n                       select(everything()) %>%\n                       filter(GameKey == i))\n        }\n\n\n        #Getting relevant plays\n        b = tibble()\n        for (i in eval(parse(text = paste(\"injure_play_id\",fyear,sep=\"\")))) {\n          b <- rbind(b,a %>%\n            select(everything()) %>%\n            filter(a$PlayID %in% i ))\n        }\n\n\n        #Getting relevant players\n        c = tibble()\n        for (i in eval(parse(text = paste(\"injure_player_id\",fyear,sep=\"\")))) {\n          c <- rbind(c,b %>%\n            select(everything()) %>%\n            filter(b$GSISID %in% i))\n        }\n\n        assign(paste(\"NGS\",fyear,week,\"injure\",sep = \"\"),c)\n    }\n}","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"7b6645a1ab8548f133b01fc47243f2df501b501f"},"cell_type":"code","source":"#Now let's put it all together in \"NGS_total_injure\"\nNGS_total_injure <- rbind(NGS_2016_wk1_6injure,NGS_2016_wk7_12injure,NGS_2016_wk13_17injure,NGS_2017_wk1_6injure,NGS_2017_wk7_12injure,NGS_2017_wk13_17injure)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d2226fc81b728e373fe342ec51895315939b413b"},"cell_type":"markdown","source":"Now some graphics:\n\nWhere concussion players are at the end of plays\nWhich direction are concussion players facing during plays"},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"3def6865462a8750b6ef102d84abbfef87ab1922"},"cell_type":"code","source":"\n#Where are players on the field during plays ?\nNGS_total_injure %>%\n  filter(Event %in% unique(NGS_total_injure$Event)[1])%>%\n  ggplot(mapping=aes(x=x,y=y)) + geom_bin2d(binwidth=c(8,5),color = \"green\") + coord_cartesian(xlim =c(0,120), ylim = c(0,53.3)) +\n  ggtitle(\"Inside the field, where are the players concussion during the plays ?\")\n  ","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"4a5030591fd2950f3a524ce28e88c476d049baee"},"cell_type":"markdown","source":"There is an area with the coordinates (85,28) that seems to be a branch of activity for concussion games"},{"metadata":{"_kg_hide-input":true,"_uuid":"b90b43bada0331b0697c85287a9540584f02789e"},"cell_type":"markdown","source":"Now where the players are facing."},{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"07126f03b1319451ca817e19be5e71af3a33cb8e"},"cell_type":"code","source":"#What direction are players facing the during of plays\nNGS_total_injure %>%\n  filter(Event %in% unique(NGS_total_injure$Event)[1])%>%\n  ggplot(mapping=aes(x=o)) + geom_histogram(bins=11,binwidth = 10) +\n  ggtitle(\"Inside the field, which direction are players facing during of plays ?\")\n","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"37016cda0dcc7f7731259ef95e457359302c714c"},"cell_type":"markdown","source":"Unfortunately, I had little time to better explore the data (my computer broke down), as well as being my first Data Science project."}],"metadata":{"kernelspec":{"display_name":"R","language":"R","name":"ir"},"language_info":{"mimetype":"text/x-r-source","name":"R","pygments_lexer":"r","version":"3.4.2","file_extension":".r","codemirror_mode":"r"}},"nbformat":4,"nbformat_minor":1}