{"cells":[{"metadata":{"_uuid":"051d70d956493feee0c6d64651c6a088724dca2a","_execution_state":"idle","trusted":false},"cell_type":"code","source":"playtrack <- data.table::fread(\"../input/nfl-playing-surface-analytics/PlayerTrackData.csv\", stringsAsFactors = F)\npkey<-as.factor(playtrack$PlayKey)\nx1<-ifelse(playtrack$time==0 , playtrack$x[playtrack$`playtrack$time`==0.0]<-0 ,playtrack$x - lag(playtrack$x, default = first(playtrack$x)) )\ny1<-ifelse(playtrack$time==0 , playtrack$y[playtrack$`playtrack$time`==0.0]<-0 ,playtrack$y - lag(playtrack$y, default = first(playtrack$y)) )\nt1<-ifelse(playtrack$time==0, 0, playtrack$time - lag(playtrack$time, default = first(playtrack$time)))\nvx<-(x1/t1)\nvy<-y1/t1\nvelocity<-sqrt(((vx^2) +(vy^2)))\nplay_track1<-cbind.data.frame(t1, vx, vy)\ndvx<-play_track1$vx - lag(play_track1$vx, default = first(play_track1$vx)) \ndvy<-play_track1$vy - lag(play_track1$vy, default = first(play_track1$vy)) \naccx<-dvx/t1\naccy<-dvy/t1\nacceleration<-sqrt((accx^2)+(accy^2))\nvdir<-atan(vy/vx)\nlibrary(REdaS)\nvdir1<-rad2deg(vdir)\naccdir<-atan(accy/accx)\naccdir1<-rad2deg(accdir)\nsum(is.na(vdir1))\nvdir1[is.na(vdir1)]<-0.0001\nsum(vdir1 == 0.0001)\nsum(is.na(accdir1))\naccdir1[is.na(accdir1)]<-0.0001\nsum(accdir1 == 0.0001)\nvdir1[vdir1<0]<- vdir1[vdir1<0]+180\nvdir1[vdir1==0.0001]<- NA\nsum(is.na(vdir1))\naccdir1[accdir1<0]<- accdir1[accdir1<0]+180\naccdir1[accdir1==0.0001]<- NA\nsum(is.na(accdir1))\nvdir_ch<-ifelse(vacc$t1==0 , vacc$vdir1[vacc$t1==0.0]<-0 ,vacc$vdir1 - lag(vacc$vdir1, default = first(vacc$vdir1)) )\naccdir_ch<-ifelse(vacc$t1==0 , vacc$accdir1[vacc$t1==0.0]<-0 ,vacc$accdir1 - lag(vacc$accdir1, default = first(vacc$accdir1)) )\nvacc<-cbind.data.frame(t1, vdir1, accdir1)\nvacc1<-cbind.data.frame(pkey, vdir_ch, accdir_ch)\naver_vdir<-vacc1%>%group_by(pkey)%>%summarise(mean = mean(vdir_ch, na.rm = T))\naver_accdir<-vacc1%>%group_by(pkey)%>%summarise(mean = mean(accdir_ch, na.rm = T))\n\nvxyk<-cbind.data.frame(pkey,vx,vy)\naver_vx<-vxyk%>%group_by(pkey)%>%summarise(mean = mean(vx, na.rm = T))\naver_vy<-vxyk%>%group_by(pkey)%>%summarise(mean = mean(vy, na.rm = T))\naccvx<-cbind.data.frame(pkey,accx,accy )\naver_accx<-accvx%>%group_by(pkey)%>%summarise(mean = mean(accx, na.rm = T))\naver_accy<-accvx%>%group_by(pkey)%>%summarise(mean = mean(accy, na.rm = T))\naccx1<-tapply(accx, pkey, mean, na.rm =T)\nv<-sqrt((aver_vx[,2]^2)+(aver_vy[,2]^2))\nacc<-sqrt((aver_accx[,2]^2) + (aver_accy[,2]^2))\nv_dir<-atan(aver_vy[,2]/aver_vx[,2])\nlibrary(REdaS)\nv_dir1<-rad2deg(v_dir)\nacc_dir<-atan(aver_accy[,2]/aver_accx[,2])\nacc_dir1<-rad2deg(acc_dir)\nv_dir1[is.na(v_dir1),]<-0\nv_dir1[v_dir1<0,]<- v_dir1[v_dir1<0,]+180\nv_dir1[v_dir1==0,]<- NA\n sum(is.na(v_dir1))\nacc_dir1[acc_dir1<0,]<-acc_dir1[acc_dir1<0,]+180 \ndist<-tapply(playtrack$dis,pkey, sum)\ndir.change<-tapply(playtrack$dir, pkey, mean)\nor.change<-tapply(playtrack$o, pkey, mean)\n\nt<-tapply(playtrack$time, pkey, max)\nplaytrack1<-cbind.data.frame(t,v,acc,dist,dir.change, or.change)\ncolnames(playtrack1)<-c(\"time\", \"velocity\",\"acceleration\",\"dis\", \"dir\", \"orient\")\nplaytrack2<-mutate(playtrack1, pkey)\ndir1<-ifelse(playtrack$time==0 , playtrack$dir[playtrack$`playtrack$time`==0.0]<-0 ,playtrack$dir - lag(playtrack$dir, default = first(playtrack$dir)) )\no1<-ifelse(playtrack$time==0 , playtrack$o[playtrack$`playtrack$time`==0.0]<-0 ,playtrack$o - lag(playtrack$o, default = first(playtrack$o)) )\ndir_o<-cbind.data.frame(pkey, dir1, o1)\naver_dir<-dir_o%>%group_by(pkey)%>%summarise(mean = mean(dir1, na.rm = T))\naver_o<-dir_o%>%group_by(pkey)%>%summarise(mean = mean(o1, na.rm = T))\nplaytrack3<-cbind.data.frame(playtrack2, v_dir1,acc_dir1)\nplaytrack4<-cbind.data.frame(playtrack3[,c(1:4,7,8,9)], aver_dir[,2], aver_o[,2])\nplaydata3<-cbind.data.frame(playlist4, aver_vdir[,2], aver_accdir[,2])\ncolnames(playdata3)<-c(\"time\", \"velocity\",\"acceleration\",\"dis\", \"playkey1\", \"v_dirr\", \"acc_dirr\", \"aver_dir\", \"aver_orient\", \"vdir_ch\", \"accdir_ch\")\n","execution_count":null,"outputs":[]}],"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}