рдПрдирдмреАрдП рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдПрдирд┐рдореЗрдЯреЗрдб рдЪрд▓рддреА рдФрд╕рдд рд░реЗрдЦрд╛ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рд╣рдо рдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╕реНрдХреЗрдЯрдмреЙрд▓ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬреЛ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдордиреЛрд░рдВрдЬрдХ рдерд╛, рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реАрдЬрди рдХреЗ рдЕрднрд┐рдпрд╛рди рдХреЗ рдЯреАрдо рдХреЗ рдЦреЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


рдФрд░ рд╣рдо рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдирдмреАрдП рдЯреАрдореЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВрдЧреЗ: рдЕрдЯреИрдХрд┐рдВрдЧ, рдбрд┐рдлреЗрдВрд╕рд┐рд╡ рдФрд░ рдиреЗрдЯ-рд░реЗрдЯрд┐рдВрдЧ (рдпрд╛рдиреА рдкрд╣рд▓реЗ рджреЛ рдореЗрдВ рдЕрдВрддрд░)ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╣рдорд▓рд╛ рдХрд░рдирд╛ рдФрд░ рд░рдХреНрд╖рд╛рддреНрдордХ рд░реЗрдЯрд┐рдВрдЧ 100 рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП / рдЪреВрдХ рдЧрдП рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдиреЗрдЯ рд░реЗрдЯрд┐рдВрдЧ - рдпрд╣ рдПрдХ рд╕реМ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЕрдВрддрд░ рд╣реИред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдмрд╛рд╕реНрдХреЗрдЯрдмреЙрд▓-рд╕рдВрджрд░реНрдн рдкрд░ рд╢рдмреНрджрд╛рд╡рд▓реА рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЧрдгрдирд╛ рд╕реВрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред


рдореИрдВ рдпрд╣ рднреА рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдЪрд▓рддреА рдФрд╕рдд рдХреЗ рдЪрд╛рд░реНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрдпреЛрдВ рдХрд░реВрдВрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореИрдЪ рдореЗрдВ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХрд╛ рдЕрдиреБрдкрд╛рдд рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рд╕рдВрдХреЗрддрдХ 70 рд╕реЗ 150 рддрдХ рдХреВрджрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЧреНрд░рд╛рдл рдЦреБрдж рдХрд╛рд░реНрдбрд┐рдпреЛрдЧреНрд░рд╛рдо рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╕рдВрдЪрдпреА рдФрд╕рдд рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдФрд░ рдЪрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: рд╢реЗрдбреНрдпреВрд▓, рдирдо рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдФрд░ рд╕реАрдЬрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЧреЗрдо, рдЬрдм рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 70-75 рдореИрдЪреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдордЧреНрд░ рд╕рдВрдХреЗрддрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рд╡реЗ "рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред" рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдЧрддрд┐рд░реЛрдз рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред рдПрдХ рдУрд░, рдЕрд╡рд╕рд░ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░реА рдУрд░, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЪрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдмрд╛рд╕реНрдХреЗрдЯрдмреЙрд▓ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ 10-рдореИрдЪ рдореВрд╡рд┐рдВрдЧ рдФрд╕рдд рдХрд░рддреЗ рд╣реИрдВред


рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛


library(httr) library(jsonlite) library(tidyverse) library(lubridate) library(zoo) library(ggthemes) library(gganimate) 

рдПрдирдмреАрдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


рдкрд┐рдЫрд▓реА рдмрд╛рд░, рдореИрдВрдиреЗ рдПрдирдмреАрдП рдбреЗрдЯрд╛ рд░рд┐рдЯреНрд░реАрд╡рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдерд╛ ред рдЗрд╕ рдмрд╛рд░ рдореИрдВ рдПрдирдмреАрдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реВрдВрдЧрд╛ред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдпрд╣ рдкрддрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдХрд╣рд╛рдВ рд╕реЗ рдорд┐рд▓реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рд╣рдореЗрдВ рдЖрдБрдХрдбрд╝реЗ.рдПрдирдмреА.рдХреЙрдо рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдкрд░ рдЬрд╛рдирд╛ рд╣реИред рдлрд┐рд░ рдиреЗрдЯрд╡рд░реНрдХ рдЦреЛрд▓реЗрдВ -> XHR рдФрд░ F5 рджрдмрд╛рдПрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ, рд╣рдореЗрдВ рдкреГрд╖реНрда рдХреЗ рдирд╛рдо рдХреЗ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред рд╣рдореЗрдВ рдЙрд╕рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЖрдкрдиреЗ рд╕рд╣реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдкрддрд╛ R рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред


рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ



рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП



R рдкрддреЗ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ



рдЕрдм рдЖрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо http рдкреИрдХреЗрдЬ рдХреЗ GET рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЗрд╕реЗ status_code рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ 200 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП), рдЖрдкрдХреЛ HTTP рд▓реЗрдирджреЗрди рдХреЗ рдХрд╛рд░реНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


 ##Adding headers request_headers <- c( "accept-encoding" = "gzip, deflate, sdch", "accept-language" = "en-US,en;q=0.8", "cache-control" = "no-cache", "connection" = "keep-alive", "host" = "stats.nba.com", "pragma" = "no-cache", "upgrade-insecure-requests" = "1", "user-agent" = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9" ) #Getting a response request <- GET(adv_box_team, add_headers(request_headers)) 

рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ:



рд▓реЗрдХрд┐рди рдЬрдм рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ рддреЛ рд╡рд╣ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз content рдХреЛ рдкрд╣рд▓реЗ рдПрдХ json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ jsonlite , рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ jsonlite рдкреИрдХреЗрдЬ рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ, jsonlite рд╕реЗ jsonlite рдирд╛рдо рд╣реИ fromJSON


 boxscore_data <- fromJSON(content(request, as = "text")) 

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред


рдбреЗрдЯрд╛ рдХреА рддреИрдпрд╛рд░реА


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдЬреЛрдбрд╝реЗрдВред


 #Convert to tibble data and assigning column names table <- tbl_df(data.frame(boxscore_data$resultSets$rowSet[[1]], stringsAsFactors = FALSE)) names(table) <- toupper(boxscore_data$resultSets$headers[[1]]) 

toupper рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рд╕рднреА рд╡рд░реНрдгреЛрдВ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ 2460 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ 46 рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕ рд░реВрдк рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдПред


 ##Select the columns you want to analyze rating <- table %>% select(TEAM_ID, TEAM_ABBREVIATION, TEAM_NAME, GAME_ID, GAME_DATE, MATCHUP, WL, E_OFF_RATING, E_DEF_RATING, E_NET_RATING) 

рдпрджрд┐ рдЖрдк рд╕реНрд░реЛрдд рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рд╣реА рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: "рд╕рд╛рдорд╛рдиреНрдп" рдФрд░ рдЙрдкрд╕рд░реНрдЧ рдИ рдХреЗ рд╕рд╛рдеред рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдИ-рд░реЗрдЯрд┐рдВрдЧ рдЦреЗрд▓ рдХреА рдЧрддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реИред рд╣рдо рдЗрд╕реЗ рд▓реЗрддреЗ рд╣реИрдВред


рдЕрдЧрд▓рд╛, рдореИрдВ рд░реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдирд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЙрдиреНрд╣реЗрдВ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдореЗрдВ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: ORTG, DRTG, NRTGред рдпрд╣рд╛рдВ рдЖрдк рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦрдиреЗ рдФрд░ str_replace рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде "рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ", рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдирд╛ рдЕрднреА рднреА рдПрдХ рдЦреБрд╢реА рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдЙрдирдХреЗ рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдирд╛рдореЛрдВ рдХреЗ 3, 7, 9 рдФрд░ 12 рд╡рд░реНрдгреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореА рд╡рд░реНрдг рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕рдм stringr рдкреИрдХреЗрдЬ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: str_sub рдФрд░ str_c (рдмреЗрд╕ paste0 рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ)ред


 ## Renaming columns with E_OFF_RATING on ORTG rating1 <- rating %>% rename_at(vars(starts_with("E_")), list(~str_c(str_sub(., start = 3, end = 3), str_sub(., start = 7, end = 7), str_sub(., start = 9, end = 9), str_sub(., start = 12, end = 12)))) 

рдкреИрдХреЗрдЬ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ dplyr рдкрд╛рд╕ dt[, lapply(.SD, func), .SDols = col1] рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИред data.table рдкреИрдХреЗрдЬ рдореЗрдВ dt[, lapply(.SD, func), .SDols = col1] : рдХрд╛рд░реНрд░рд╡рд╛рдИ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рд╕реНрддрдВрднреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд╕рднреА рдХреЙрд▓рдо рдЪреБрдирддреЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдирд╛рдо "E_" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред


рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ:


TEAM_IDTEAM_ABBREVIATIONTEAM_NAME,GAME_IDGAME_DATEmatchupWLORTGDRTGNRTG
1610612749рдПрдордЖрдИрдПрд▓рдорд┐рд▓реНрд╡реМрдХреА рд░реБрдкрдпреЗ00218012262019-04-10T00: 00: 00MIL рдмрдирд╛рдо OKCрдПрд▓102.4116.8-14.4
1610612766рдЪрд╛рд╢рд╛рд░реНрд▓реЗрдЯ рд╣реЙрд░реНрдиреЗрдЯреНрд╕00218012222019-04-10T00: 00: 00рд╕реАрдПрдЪрдП рдмрдирд╛рдо ORLрдПрд▓121.4130.1-8.6
1610612758рд╕реИрдХрд╕реИрдХреНрд░рд╛рдореЗрдВрдЯреЛ рд░рд╛рдЬрд╛00218012302019-04-10T00: 00: 00рдПрд╕рдПрд╕реА @ PORрдПрд▓129.7136.4-6.8
1610612748рдПрдордЖрдИрдПрдорд┐рдпрд╛рдореА рд╣реАрдЯ00218012212019-04-10T00: 00: 00MIA @ BKNрдПрд▓84.2103.6-19.4
1610612750рдорд┐рдирдорд┐рдиреЗрд╕реЛрдЯрд╛ рдЗрдорд╛рд░рддреА рд▓рдХрдбрд╝реА00218012282019-04-10T00: 00: 00рдорд┐рди @ рдбреЗрдирдПрд▓98.3103.7-5.4

рдПрдХ рдЪрд▓рддреА рдФрд╕рдд рдХреА рд╕рд╛рдЬрд┐рд╢ рд░рдЪрдиреЗ рдФрд░ рдПрдирд┐рдореЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓рд┐рдВрдЧ_рдСрдлрдиреЗрдЯ_рд░рдЯрд┐рдВрдЧ_ рдПрдирдмреАрдП ред


рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣, рдЪрд▓реЛ рдЧрдгрдирд╛ рдореЗрдВ рдиреНрдпреВрдирддрдо рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред


rolling_offnet_rating_nba рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ rolling_offnet_rating_nba рд╣реИ:


 rolling_offnet_rating_nba <- function(table, name, variable, col1 = col1, col2 = col2) 

рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рд╣реИ,
рдирд╛рдо - рдЙрд╕ рдЯреАрдо рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ ("рдмреАрдУрдПрд╕", "рдПрд▓рдПрдПрд▓", рдЖрджрд┐)ред
рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ - рдЬрд┐рд╕ рд░реЗрдЯрд┐рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреА (рдпрд╣рд╛рдВ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, ORTG рдпрд╛ NRTG, рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рд╣реИ)
col1 рдФрд░ col2 - рдФрд╕рдд рд╕реЗ рдКрдкрд░ / рдиреАрдЪреЗ рдХреЗ рдореВрд▓реНрдп рдкрд░ рд▓рд╛рдЗрди рдХрд╛ рд░рдВрдЧред


рдЕрдзрд┐рдХрд╛рдВрд╢ dplyr рдлрд╝рдВрдХреНрд╢рди рдЧреИрд░-рдорд╛рдирдХ рдореВрд▓реНрдпрд╛рдВрдХрди (NSE ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрдж рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдЖрд░ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓реНрдпрд╛рдВрдХрди рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдХреЛрдб рд▓реЗрдЦрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдореВрд▓реНрдп рдХреЛ рдПрдХ рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╣реАрдВ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред


Dplyr рд╕рд╛рдл рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдзрдиреЛрдВ (рдЙрджреНрдзрд░рдг рдХрд╛рд░реНрдпреЛрдВ, рдСрдкрд░реЗрдЯрд░ !!) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред


рдирд┐рдореНрди рдХреЛрдб рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХрд╛ рдирд╛рдо рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред (рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ enquo рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ)


 ##Return the entered value in the function argument in the type quosure quo_rating <- enquo(variable) quo_col1 <- enquo(col1) quo_col2 <- enquo(col2) 

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдХреБрдЫ рдХреЙрд▓рдореЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдлреЙрд░реНрдореЗрдЯ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ: рд╣рдо GAME_DATE рдХреЛ рдХреИрд░реЗрдХреНрдЯрд░ рдХреЗ рдПрдХ рдХреЙрд▓рдо рдХреЛ рдбреЗрдЯ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рд░реЗрдЯрд┐рдВрдЧ рдХреЙрд▓рдо рдХреЛ рдиреНрдпреВрдореЗрд░рд┐рдХ рдмрдирд╛рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо as.numeric рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддреАрди рдХреЙрд▓рдо рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ mutate_at рдЙрдкрдпреЛрдЧ mutate_at рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╣рдо рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдХреЗ рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред


 ##Changing the data type of multiple columns test1 <- table %>% mutate(GAME_DATE = as.Date(ymd_hms(GAME_DATE))) %>% mutate_at(vars(ORTG:NRTG), list(~as.numeric)) %>% arrange(GAME_DATE) 

рдФрд░ рдлрд┐рд░ рд╣рдо рдЙрд╕ рдЯреАрдо рдХреА 10-рдореИрдЪ рдореВрд╡рд┐рдВрдЧ рдФрд╕рдд рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, zoo рдкреИрдХреЗрдЬ рд╕реЗ rollmeanr рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдирд╛рдо рдХреЗ рдЕрдВрдд рдореЗрдВ r рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА-рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реАрдЬрд╝рди рдХреЗ рдкрд╣рд▓реЗ рдиреМ рдореИрдЪреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ 10-рдореИрдЪ рдХреА рдФрд╕рдд рдЪрд╛рд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдирдП рдХреЛ рднрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред na.omit рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпреЗ NA рд╣реЛрддреЗ рд╣реИрдВред


 ##The calculation of the moving average team <- test1 %>% filter(TEAM_ABBREVIATION == "DAL") %>% mutate(RATING = rollmeanr(ORTG, k = 10, fill= NA)) %>% na.omit(test1) 

рдЯреАрдо рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:


TEAM_IDTEAM_ABBREVIATIONTEAM_NAME,GAME_IDGAME_DATEmatchupWLORTGDRTGNRTGрд░реЗрдЯрд┐рдВрдЧ
1610612742рджрд╛рд▓рдбрд▓рд╛рд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕00218001502018/06/11рджрд╛рд▓ рдмрдирд╛рдо рдерд╛рдбрдмреНрд▓реНрдпреВ116.899.217.6105.51
1610612742рджрд╛рд▓рдбрд▓рд╛рд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕00218001602018/07/11рджрд╛рд▓ @ рдпреВрдЯреАрдПрдПрд▓98.5112.0-13.6104.92
1610612742рджрд╛рд▓рдбрд▓рд╛рд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕00218001812018/10/11рджрд╛рд▓ рдмрдирд╛рдо OKCрдбрдмреНрд▓реНрдпреВ115.0101.113.9104.13
1610612742рджрд╛рд▓рдбрд▓рд╛рд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕00218001932018/11/12DAL @ CHIрдбрдмреНрд▓реНрдпреВ98.391.07.3103.03
1610612742рджрд╛рд▓рдбрд▓рд╛рд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕00218002102018/11/14рджрд╛рд▓ рдмрдирд╛рдо UTAрдбрдмреНрд▓реНрдпреВ117.365.851.6105.34

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓ рдЧрдИ рд╣реИред рдХреЛрдб рдХреА рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд░реЗрдЦрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдХрд╛рд▓реА рд░реЗрдЦрд╛ рдПрдХ рд╕реМрдВрджрд░реНрдпрд╡рд╛рджреА рдФрд░ рд╕реВрдЪрдирд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐ рджреЛрдиреЛрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рд░реБрдЪрд┐ рд░рдЦрддреА рд╣реИред "рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╢рд░реАрд░" рдХрд╛ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рдЗрд╕реЗ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИред


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдФрд╕рдд, 10 рд╡реАрдВ рдФрд░ 21 рд╡реАрдВ (рдиреАрдЪреЗ рд╕реЗ рджрд╕рд╡реАрдВ) рд░реЗрдЯрд┐рдВрдЧ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЯреАрдо рдореИрдЪ рдХреА рддрд╛рд░реАрдЦ 10 (рдпрд╛рдиреА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЪрд▓рддреА рдФрд╕рдд рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬреЛ NA рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЯреАрдо рдореЗрдВ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ) рдкрд░ рдФрд╕рдд рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред ред


 ##The average, 10 and 21 ratings in the entire League. average <- league %>% mutate(average = mean(!! quo_rating)) %>% select(average) %>% unique() %>% .$average top10 <- league %>% arrange(desc(!! quo_rating)) %>% select(!! quo_rating) %>% slice(10) top10 <- top10[[1]] bottom10 <- league %>% arrange(desc(!! quo_rating)) %>% select(!! quo_rating) %>% slice(21) bottom10 <- bottom10[[1]] ##Getting the date of the first rollaverage data <- team %>% select(GAME_DATE) %>% arrange(GAME_DATE) data <- data[[1,1]] 

рдкрд╣рд▓реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ, slice рдлрд╝рдВрдХреНрд╢рди рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЙрдирдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред


рдЕрдЧрд▓рд╛, рд╣рдо 2 рд░рдВрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, table_color рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ table_color рдЧрдпрд╛ рд╣реИред рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд╛рд░реНрдЯ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд░рдВрдЧ рдФрд╕рдд рд╕реЗ рдиреАрдЪреЗ рдХреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреМрди рд╕рд╛ рдЕрдзрд┐рдХ рд╣реИред


 ##Getting color and color_name selected color color1 <- table_color %>% filter(TEAM_ABBREVIATION == name) %>% select(!! quo_col1) color1 <- color1[[1]] color2 <- table_color %>% filter(TEAM_ABBREVIATION == name) %>% select(!! quo_col2) color2 <- color2[[1]] name1 <- paste0("name_", quo_name(quo_col1)) name2 <- paste0("name_", quo_name(quo_col2)) name_color1 <- table_color %>% filter(TEAM_ABBREVIATION == name) %>% select(name1) name_color1 <- name_color1[[1]] name_color2 <- table_color %>% filter(TEAM_ABBREVIATION == name) %>% select(name2) name_color2 <- name_color2[[1]] 

рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ col1 рдФрд░ col2 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдпреЗ рдХрдорд╛рдВрдб рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рд░рдВрдЧ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ (26 рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ), рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪрд╛рд░ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдХреЗ рд░рдВрдЧ рдкреИрд▓реЗрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд▓рд╛рд╕ рдФрд░ рдорд┐рдиреЗрд╕реЛрдЯрд╛ рдореЗрдВ, рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ рд░рдВрдЧ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВ, рдЬрдмрдХрд┐ рдорд┐рд▓реНрд╡реМрдХреА рдФрд░ рдмреНрд░реБрдХрд▓рд┐рди рдореЗрдВ рд╡реЗ рдПрдХ рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ, рдФрд░ рдПрдХ рдФрд░ рдЕрдиреБрд╕реВрдЪреА рдХреЗ рдкрдврд╝рдиреЗ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рддрд░реНрдХ col2 = col3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред


рдЖрдЧреЗ рд╣рдореЗрдВ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд░реЗрдЯрд┐рдВрдЧ рдорд┐рд▓рддреА рд╣реИред рд╣рдореЗрдВ рдЪрд╛рд░реНрдЯ рдкрд░ рд░реЗрдЯрд┐рдВрдЧ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкрд╛рда рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореВрд▓реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдХреЛрдб рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдиреЗ 90 рдореЗрдВ рд╕реЗ 89 рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЪрд╛рд░реНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд▓реЙрдЯ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рд░реЗрдЯрд┐рдВрдЧ рдмрдирд╛рддреЗ рд╕рдордп, рдорд┐рд▓реНрд╡реМрдХреА рдиреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рджреАред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдорд┐рд▓реНрд╡реМрдХреА рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд░реЗрдЯрд┐рдВрдЧ рдореВрд▓реНрдп рджреЛ рдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ ggplot2 рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рд╢рдкрде рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 1 рдпрд╛ 73 рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рд╣реА рдЕрдзрд┐рдХрддрдо рд░реЗрдЯрд┐рдВрдЧ рдореВрд▓реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


 ##The maximum value of the rating max <- team %>% filter(RATING == max(RATING)) %>% select(RATING) max <- max[[1]] 

ggplot2 рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдЧреНрд░рд╛рдл рдХрд╛ ggplot2


 ##Building and save a static chart Sys.setlocale("LC_ALL", "C") gg <- ggplot(team, aes(GAME_DATE, RATING)) + geom_hline(yintercept = c(top10, bottom10), col = c("red", "blue")) + annotate(geom = "text", x = as.Date(data) + 2, y = top10 - 0.2, label = "TOP 10", col = "red") + annotate(geom = "text", x = as.Date(data) + 2, y = bottom10 + 0.2, label = "BOTTOM 10", col = "blue") + geom_line(size = 2, col = if_else(team$RATING > average, color1, color2)) + theme_tufte() + labs(title = paste0(team$TEAM_NAME, " 10-Game Rolling ", quo_name(quo_rating)), subtitle = paste0(paste0(name_color1, " - above average ", quo_name(quo_rating)), "\n", paste0(name_color2, " - below average ", quo_name(quo_rating))), caption = "Source: BBall Index Data & Tools\nTelegram: @NBAatlantic, twitter: @vshufinskiy") theme(plot.title = element_text(size = 12, hjust = 0.5), plot.caption = element_text(size = 10), plot.subtitle = element_text(size = 9)) ggsave(paste0(unique(team$TEAM_NAME), quo_name(quo_rating), ".jpeg"), gg, width = 8, units = "in") 

рдпрд╣рд╛рдВ рдирдП рдореЗрдВ рд╕реЗ, if_else рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ if_else рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓реАрдЧ рдФрд╕рдд рд░реЗрдЯрд┐рдВрдЧ рдЕрдзрд┐рдХ рд╣реИ рдпрд╛ рдХрдо рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓реЛрдХреЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЗрди рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ X рдЕрдХреНрд╖ рдкрд░ рдорд╣реАрдиреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдПрдВред


10-рдореИрдЪ рдореВрд╡рд┐рдВрдЧ рдФрд╕рдд рдХрд╛ рдПрдиреАрдореЗрд╢рдиред


рдПрдиреАрдореЗрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ, рдореИрдВрдиреЗ рдХрдИ рд▓реЛрд╢рди рдЬреЛрдбрд╝реЗ рдЬреЛ рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрджрд▓рддреА рддрд╛рд░реАрдЦ (рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрд╖ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдордп рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБ рдкрд░ рд░реЗрдЯрд┐рдВрдЧ рдореВрд▓реНрдпред рдпрд╣ рдФрд╕рдд рдХреЗ рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ рд╣реЛрдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднреА рд░рдВрдЧ рдмрджрд▓рддрд╛ рд╣реИред


 ##Building animations anim <- gg + theme(plot.title = element_text(hjust = 0.5, size = 25), plot.subtitle = element_text(size = 15), plot.caption = element_text(size = 15), axis.text = element_text(size = 15), axis.title = element_text(size = 18)) + geom_text(aes(x = as.Date(data), y = max + 0.5), label = paste0(quo_name(quo_rating)," ", round(team$RATING, digits = 1)), size = 6, col = if_else(team$RATING > average, color1, color2)) + transition_reveal(GAME_DATE) + labs(title = paste0(team$TEAM_NAME, " 10-Game Rolling ", quo_name(quo_rating)), subtitle = paste0(paste0(name_color1, " - above average ",quo_name(quo_rating)), "\n", paste0(name_color2, " - below average ",quo_name(quo_rating)), "\n", "Date: {frame_along}"), caption = paste0("Source: stats.nba.com\nTelegram: @NBAatlantic, twitter: @vshufinskiy")) 

рдкрд░рд┐рдгрд╛рдо



рдЪрд╛рд░реНрдЯ рдкрд░, рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдбрд▓рд╛рд╕ рдлрд░рд╡рд░реА-рдорд╛рд░реНрдЪ рдХреА рджреВрд╕рд░реА рдЫрдорд╛рд╣реА рдореЗрдВ рдбреВрдмрд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдпрд╣ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдерд╛ рдХрд┐ рдЗрд╕ рд╕реАрдЬрди рдореЗрдВ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕ рдиреЗ рдЕрдкрдиреЗ рд╢реБрд░реБрдЖрддреА рдкрд╛рдВрдЪ рдореЗрдВ 5 рдореЗрдВ рд╕реЗ 4 рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛, рдФрд░ рдореБрдЦреНрдп рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдВрдкрддреНрддрд┐, рд▓рд╛рддрд╡рд┐рдпрд╛рдИ рдХреНрд░рд┐рд╕реНрдЯреИрдкреНрд╕ рдкреЛрд░рдЬрд┐рдВрдЧрд┐рд╕, рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЦреЗрд▓рддреЗ рдереЗ, рдЬреЛ рдХрд┐ рдХреНрд░реВрд░ рд╕реНрдирд╛рдпреБрдмрдВрдзрди рдХреЗ рдЯреВрдЯрдиреЗ рдХреЗ рдХрд╛рд░рдг рдерд╛ред


рдпрд╣рд╛рдБ рдореИрдВ рдЦреЗрд▓ рдХреЗ рдШрдЯрдХ рдореЗрдВ рддрд▓реНрд▓реАрди рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ 2018-19 рд╕реАрдЬрд╝рди рдХреЗ рд╢реЗрд╖ 89 рдЪрд╛рд░реНрдЯреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдЖрдк sports.ru рдкрд░ рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдЬрд╣рд╛рдБ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╛ рдЕрдкрдиреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рдЕрд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдПрдирдмреАрдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреИрдирд▓ , рдЬрд╣рд╛рдВ рдореИрдВ рдЙрди рд╕рднреА рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред


рдЧрд┐рдЯрд╣рдм рднрдВрдбрд╛рд░

Source: https://habr.com/ru/post/hi459142/


All Articles