From e2bd4d31f7b73b4566aae7fdb7798521507724f6 Mon Sep 17 00:00:00 2001 From: Michael Griebe Date: Wed, 12 Nov 2014 20:36:45 -0600 Subject: [PATCH] Changes made and text expanded to PPR leagues. --- .../Gold Mining/wr_tiers_MRG.R | 52 +- RMarkdown/GoldMining/GoldMining.Rmd | 52 +- RMarkdown/GoldMining/GoldMining.html | 614 +---------------- RMarkdown/GoldMining/SourceArbitrage.html | 626 ++++++++++++++++++ RMarkdown/GoldMining/ffa_wr.RData | Bin 14684 -> 15826 bytes 5 files changed, 711 insertions(+), 633 deletions(-) create mode 100644 RMarkdown/GoldMining/SourceArbitrage.html diff --git a/R Scripts/Weekly Projections/Gold Mining/wr_tiers_MRG.R b/R Scripts/Weekly Projections/Gold Mining/wr_tiers_MRG.R index 6080f99..d7dfe47 100644 --- a/R Scripts/Weekly Projections/Gold Mining/wr_tiers_MRG.R +++ b/R Scripts/Weekly Projections/Gold Mining/wr_tiers_MRG.R @@ -81,30 +81,30 @@ NAtoZero(espn) espn[,player:=NULL] # Get FF Today WR Data #### -# fft_pos<-list(QB=10,RB=20,WR=30,TE=40,K=80) -# fft_base_url<-paste("http://www.fftoday.com/rankings/playerwkproj.php?Season=", -# year(seasonStart),"&GameWeek=",next_week, -# "&LeagueID=1&order_by=FFPts&sort_order=DESC&PosID=",fft_pos[[spos]],sep="") -# fft_pages<-c("0","1") -# fft_urls<-paste(fft_base_url,"&cur_page=",fft_pages,sep="") -# fft<-lapply(fft_urls,function(x) {data.table(readHTMLTable(x, as.data.frame=TRUE, stringsAsFactors=FALSE)[11]$`NULL`)}) -# #Do row removal pior to rbind -# for(i in 1:length(fft)) { -# ##Delete Row 1 -# fft[[i]]<-fft[[i]][2:nrow(fft[[i]])] -# } -# fft<-rbindlist(fft) -# ##Add week, pos, src, and writer. -# fft[,c("week","pos","src","writer","scoring"):=list(next_week,spos,"fft","fft","std")] -# ##Delete extraneous collumns -# fft[,c("V1","V4"):=NULL] -# ##setnames -# setnames(fft,c("V2","V3","V5","V6","V7","V8"),c("player","team","rec","rec_yd","rec_td","fpts")) -# ##Add player name -# fft[,name:=str_replace_all(player, "^Â\\s+", "")] -# ##convert to numeric -# fft[,c("rec","rec_yd","rec_td","fpts"):=lapply(list(rec,rec_yd,rec_td,fpts),as.numeric)] -# fft[,player:=NULL] +fft_pos<-list(QB=10,RB=20,WR=30,TE=40,K=80) +fft_base_url<-paste("http://www.fftoday.com/rankings/playerwkproj.php?Season=", + year(seasonStart),"&GameWeek=",next_week, + "&LeagueID=1&order_by=FFPts&sort_order=DESC&PosID=",fft_pos[[spos]],sep="") +fft_pages<-c("0","1") +fft_urls<-paste(fft_base_url,"&cur_page=",fft_pages,sep="") +fft<-lapply(fft_urls,function(x) {data.table(readHTMLTable(x, as.data.frame=TRUE, stringsAsFactors=FALSE)[11]$`NULL`)}) +#Do row removal pior to rbind +for(i in 1:length(fft)) { + ##Delete Row 1 + fft[[i]]<-fft[[i]][2:nrow(fft[[i]])] +} +fft<-rbindlist(fft) +##Add week, pos, src, and writer. +fft[,c("week","pos","src","writer","scoring"):=list(next_week,spos,"fft","fft","std")] +##Delete extraneous collumns +fft[,c("V1","V4"):=NULL] +##setnames +setnames(fft,c("V2","V3","V5","V6","V7","V8"),c("player","team","rec","rec_yd","rec_td","fpts")) +##Add player name +fft[,name:=str_replace_all(player, "^Â\\s+", "")] +##convert to numeric +fft[,c("rec","rec_yd","rec_td","fpts"):=lapply(list(rec,rec_yd,rec_td,fpts),as.numeric)] +fft[,player:=NULL] # Get FF Sharks Data #### ffs_pos=list(QB="QB",RB="RB",WR="WR",TE="TE",flex="FLEX",K="PK",DEF="D") @@ -187,8 +187,8 @@ for(i in 1:length(ranks)){ # Aggregate #### -#proj<-list(cbs,espn,ffs,fft,fx,pp,yahoo) -proj<-list(cbs,espn,ffs,fx,pp,yahoo) +proj<-list(cbs,espn,ffs,fft,fx,pp,yahoo) +#proj<-list(cbs,espn,ffs,fx,pp,yahoo) for(i in 1:length(proj)){ setcolorder(proj[[i]],c("pos","week","name","team","rec","rec_yd","rec_td","fpts","scoring","src","writer")) diff --git a/RMarkdown/GoldMining/GoldMining.Rmd b/RMarkdown/GoldMining/GoldMining.Rmd index ac2030a..f5b8242 100644 --- a/RMarkdown/GoldMining/GoldMining.Rmd +++ b/RMarkdown/GoldMining/GoldMining.Rmd @@ -1,7 +1,7 @@ --- title: "Gold Mining" author: "Fantasy Football Analytics" -date: "Friday, October 31, 2014" +date: "`r format(Sys.time(), '%d %B, %Y')`" output: html_document --- @@ -38,7 +38,7 @@ htests[,c("std_pm","std_pm_l","std_pm_h"):=list(vapply(std_h.l,function(x){x$est vapply(std_h.l,function(x){x$conf.int[2]},double(1)))] #clustering based on means. -htests[,c("ppr_tier","std_tier"):=list(Mclust(ppr_mean, G=7)$classification,Mclust(std_mean,G=7)$classification)] +htests[,c("ppr_tier","std_tier"):=list(Mclust(ppr_pm, G=7)$classification,Mclust(std_pm,G=7)$classification)] htests[,c("ppr_h.l","std_h.l"):=NULL] htests[order(-ppr_pm),ppr_rank:=1:.N] @@ -52,8 +52,8 @@ wpremium htests[,std_upside:=std_pm_h-std_pm] htests[,std_downside:=std_pm-std_pm_l] -std_big_upsides<-htests[order(-std_upside)][1:5][order(std_ave_rank)][,unique(name)] -std_small_downsides<-htests[order(std_downside)][1:5][order(std_ave_rank)][,unique(name)] +htests[,ppr_upside:=ppr_pm_h-ppr_pm] +htests[,ppr_downside:=ppr_pm-ppr_pm_l] p_and<- function(x) { paste(paste(x[1:(length(x)-1)],collapse=", "), "and", x[length(x)]) @@ -61,17 +61,16 @@ p_and<- function(x) { ``` -The graph below summarises the projections from a variety of sources. This week's summary includes projections from: `r paste(writers[ffa[,unique(writer)]],collapse=", ")`. +The graph below summarizes the projections from a variety of sources. This week's summary includes projections from: `r p_and(writers[ffa[,unique(writer)]])`. ## Standard Scoring Leagues - -### Week `r next_week` Wide Recievers +### Week `r next_week` Wide Receivers From this graph be sure to notice: - - `r p_and(htests[order(-std_upside)][1:5][order(std_ave_rank)][,unique(name)])` have particularly high upsides. For these players, some projections are placing much higher valuations than others. If you need to introduce some uncertainty into your game plan, these may be the players to consider. - - `r p_and(htests[order(std_downside)][1:5][order(std_ave_rank)][,unique(name)])` have little downside to them, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform. - - On the other hand, `r p_and(htests[order(-std_downside)][1:8][order(std_ave_rank)][,unique(name)])` have relatively large downsides this week. If you are planning on starting them, it may be prudent to investigate. + - `r p_and(htests[order(-std_upside)][1:5][order(std_ave_rank)][,unique(name)])` are the five players with the largest upside (as measured from their (pseudo)medians). For these players, some projections are placing much higher valuations than others. If you are projected to lose this week by quite a few points and are looking for a risky play that may tip the balance in your favor, these are players to consider. + - `r p_and(htests[order(std_downside)][1:5][order(std_ave_rank)][,unique(name)])` are the playres with the smallest downside, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform. So, if your are likely to win by a lot and want to reduce your downside risk, these players may deserve extra attention. + - On the other hand, `r p_and(htests[order(-std_downside)][1:5][order(std_ave_rank)][,unique(name)])` are the five playres with the largest downside this week. If you are planning on starting them, it may be prudent to investigate why some projections have such low expectations for these players.
```{r,echo=FALSE,fig.height=8,fig.width=8} @@ -91,22 +90,29 @@ ggplot(htests, aes(x=std_pm, y=std_rank, color=factor(std_tier))) + ,legend.position = "none" ) + scale_y_reverse()+ ylab("Average Rank") + xlab("Median FPTS Projection with Confidence Interval") + - labs(title = paste("Week ", next_week, " Wide Reciever Projections", sep="")) + + labs(title = paste("Week ", next_week, " Wide Receiver Projections Roundup", sep="")) + coord_cartesian(xlim =c(0,(max(htests$std_pm_h)+10))) ```
-## Top Recievers - Standard Scoring leagues ```{r,echo=FALSE, results='asis', message=FALSE,warning=FALSE} -kable(ffa[order(std_ave_rank)][,c(sstat(std_fpts),list("Average Rank"=mean(ppr_rank))), - by=name][1:30]) +##kable(ffa[order(std_ave_rank)][,c(sstat(std_fpts),list("Average Rank"=mean(ppr_rank))), +## by=name][1:30]) ``` ## PPR Leagues +### Week `r next_week` Wide Receivers + +From this graph be sure to notice: -```{r,echo=FALSE,fig.height=10} + - `r p_and(htests[order(-ppr_upside)][1:5][order(ppr_ave_rank)][,unique(name)])` are the five players with the largest upside (as measured from their (pseudo)medians). For these players, some projections are placing much higher valuations than others. If you are projected to lose this week by quite a few points and are looking for a risky play that may tip the balance in your favor, these are players to consider. + - `r p_and(htests[order(ppr_downside)][1:5][order(ppr_ave_rank)][,unique(name)])` are the playres with the smallest downside, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform. So, if your are likely to win by a lot and want to reduce your downside risk, these players may deserve extra attention. + - On the other hand, `r p_and(htests[order(-ppr_downside)][1:5][order(ppr_ave_rank)][,unique(name)])` are the five playres with the largest downside this week. If you are planning on starting them, it may be prudent to investigate why some projections have such low expectations for these players. + +
+```{r,echo=FALSE,fig.height=8, fig.width=8} #graphing #geom_point(size=3)+ ggplot(htests, aes(x=ppr_pm, y=ppr_rank, color=factor(ppr_tier))) + @@ -116,23 +122,23 @@ ggplot(htests, aes(x=ppr_pm, y=ppr_rank, color=factor(ppr_tier))) + geom_text(aes(x=ppr_pm_h, label=name, hjust=-0.2, angle=(0), size=1))+ theme( plot.background = element_blank() - ,panel.grid.major = element_blank() - ,panel.grid.minor = element_blank() - ,panel.border = element_blank() + ,panel.grid.major.x = element_line(color="grey") + ,panel.grid.minor.y = element_line(color="grey") + ,panel.border=element_rect(color="grey",fill=NA) ,panel.background = element_blank() ,legend.position = "none" ) + scale_y_reverse()+ - ylab("Average Rank") + xlab("Average FPTS Projection") + - labs(title = paste("Week ", next_week, " WRs Uncertainty", sep="")) + + ylab("Average Rank") + xlab("Median FPTS Projection with Confidence Interval") + + labs(title = paste("Week ", next_week, " Wide Recevier Projections Roundup", sep="")) + coord_cartesian(xlim =c(0,(max(htests$ppr_pm_h)+10))) ``` +
-## Top Recievers - PPR leagues ```{r,echo=FALSE, results='asis'} -kable(ffa[order(ppr_ave_rank)][,c(sstat(ppr_fpts),list("Average Rank"=mean(ppr_rank))), - by=name][1:30]) +##kable(ffa[order(ppr_ave_rank)][,c(sstat(ppr_fpts),list("Average Rank"=mean(ppr_rank))), +## by=name][1:30]) ``` diff --git a/RMarkdown/GoldMining/GoldMining.html b/RMarkdown/GoldMining/GoldMining.html index 4f1bf0d..02cef3e 100644 --- a/RMarkdown/GoldMining/GoldMining.html +++ b/RMarkdown/GoldMining/GoldMining.html @@ -54,606 +54,52 @@ -

The graph below summarises the projections from a variety of sources. This week’s summary includes projections from: Fantasy Football Sharks, CBS’s Jamey Eisenberg, CBS’s Dave Richard, ESPN, Picking Pros, Yahoo Sports, Fox Sports.

+

The graph below summarizes the projections from a variety of sources. This week’s summary includes projections from: Fantasy Football Sharks, CBS’s Jamey Eisenberg, CBS’s Dave Richard, Fantasy Football Today, ESPN, Picking Pros, Yahoo Sports and Fox Sports.

Standard Scoring Leagues

-
-

Week 11 Wide Recievers

+
+

Week 11 Wide Receivers

From this graph be sure to notice:

    -
  • T.Y. Hilton, Golden Tate, Larry Fitzgerald, Pierre Garcon and Eddie Royal have particularly high upsides. For these players, some projections are placing much higher valuations than others. If you need to introduce some uncertainty into your game plan, these may be the players to consider.
  • -
  • Andre Johnson, Reggie Wayne, Kendall Wright, Doug Baldwin and Dwayne Bowe have little downside to them, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform.
  • -
  • On the other hand, Jordy Nelson, Calvin Johnson, Jeremy Maclin, DeSean Jackson, T.Y. Hilton, Alshon Jeffery, Golden Tate and Brandon Marshall have relatively large downsides this week. If you are planning on starting them, it may be prudent to investigate.
  • +
  • Alshon Jeffery, Golden Tate, Pierre Garcon, Eddie Royal and Wes Welker are the five players with the largest upside (as measured from their (pseudo)medians). For these players, some projections are placing much higher valuations than others. If you are projected to lose this week by quite a few points and are looking for a risky play that may tip the balance in your favor, these are players to consider.
  • +
  • Pierre Garcon, Reggie Wayne, Marques Colston, Doug Baldwin and Rueben Randle are the playres with the smallest downside, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform. So, if your are likely to win by a lot and want to reduce your downside risk, these players may deserve extra attention.
  • +
  • On the other hand, Emmanuel Sanders, T.Y. Hilton, Alshon Jeffery, Golden Tate and Brandon Marshall are the five playres with the largest downside this week. If you are planning on starting them, it may be prudent to investigate why some projections have such low expectations for these players.
-plot of chunk unnamed-chunk-2 +plot of chunk unnamed-chunk-2
+ + + +
-
-

Top Recievers - Standard Scoring leagues

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nameLowest ProjectionHighest ProjectionMean ProjectionStandard DeviationMedian ProjectionAverage Rank
Demaryius Thomas13.0018.0015.6102.16516.001.857
Jordy Nelson11.4018.0015.4402.28616.003.857
Antonio Brown12.1017.0014.9311.80914.223.143
Emmanuel Sanders10.2017.0013.8962.55414.006.714
Calvin Johnson7.8017.0013.8333.20615.007.857
Julio Jones9.4018.0013.7032.93914.006.429
Jeremy Maclin9.4016.0012.8542.55714.0012.000
DeSean Jackson8.4716.0013.0532.76714.0013.857
Randall Cobb8.3016.0013.2562.58214.0012.714
T.Y. Hilton7.2017.0013.0703.63215.0013.000
A.J. Green5.7015.0012.2403.53414.0015.857
Alshon Jeffery9.0016.0012.0843.07112.0013.857
Roddy White8.7014.0011.4042.12712.0015.286
Kelvin Benjamin7.6014.0011.7242.46813.0018.714
Mike Evans7.5015.0011.5912.61013.0018.286
Golden Tate7.0018.0011.1513.84211.0016.286
Mike Wallace9.0013.0010.3791.41810.0021.143
Brandon Marshall4.0015.0010.4633.81611.7420.333
Brandon LaFell8.4013.0010.6851.91911.0023.667
Sammy Watkins7.5013.0010.2442.01410.3123.286
Anquan Boldin7.0013.009.4362.2478.4022.571
Vincent Jackson7.0011.859.0211.7879.0022.714
Julian Edelman6.0010.008.4141.3538.3022.429
Larry Fitzgerald5.7614.009.7093.0039.0023.143
DeAndre Hopkins6.6013.009.5602.2449.0025.000
Martavis Bryant6.2013.0010.0242.69211.0032.286
Odell Beckham6.0013.009.3092.7949.4629.286
Brandin Cooks6.0011.008.4432.0598.4026.429
Mohamed Sanu6.0011.008.4731.7138.4131.286
Andre Johnson6.009.577.7781.1988.0029.167
-

PPR Leagues

-

plot of chunk unnamed-chunk-4

+
+

Week 11 Wide Receivers

+

From this graph be sure to notice:

+
    +
  • Golden Tate, Alshon Jeffery, Odell Beckham, Pierre Garcon and Wes Welker are the five players with the largest upside (as measured from their (pseudo)medians). For these players, some projections are placing much higher valuations than others. If you are projected to lose this week by quite a few points and are looking for a risky play that may tip the balance in your favor, these are players to consider.
  • +
  • Mike Wallace, Pierre Garcon, Reggie Wayne, Michael Crabtree and Doug Baldwin are the playres with the smallest downside, which suggests that while their median projection might not be great, there is less uncertainty concerning how poorly they may perform. So, if your are likely to win by a lot and want to reduce your downside risk, these players may deserve extra attention.
  • +
  • On the other hand, Emmanuel Sanders, T.Y. Hilton, A.J. Green, Golden Tate and Brandon Marshall are the five playres with the largest downside this week. If you are planning on starting them, it may be prudent to investigate why some projections have such low expectations for these players.
  • +
+
+plot of chunk unnamed-chunk-4 +
+ + + + + + +
-
-

Top Recievers - PPR leagues

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nameLowest ProjectionHighest ProjectionMean ProjectionStandard DeviationMedian ProjectionAverage Rank
Demaryius Thomas19.1027.0023.383.29423.001.857
Antonio Brown18.1027.0022.723.27721.803.143
Jordy Nelson17.0025.0021.412.53422.003.857
Julio Jones14.8028.0020.694.21320.006.429
Emmanuel Sanders15.4025.0020.373.50220.006.714
Calvin Johnson11.5023.0019.794.22921.007.857
Jeremy Maclin13.4022.0018.073.30419.0012.000
Randall Cobb13.1021.0018.312.76919.0012.714
T.Y. Hilton11.4025.0018.914.77320.0013.000
Alshon Jeffery13.9024.0017.763.90218.0013.857
DeSean Jackson12.3722.0017.743.31818.0013.857
Roddy White13.4021.0017.283.12717.0015.286
A.J. Green8.0022.0017.545.06919.0015.857
Golden Tate12.7628.0018.175.48818.0016.286
Mike Evans12.2021.0016.493.07918.0018.286
Kelvin Benjamin12.0020.0016.553.11017.0018.714
Brandon Marshall9.0021.0016.054.29516.9920.333
Mike Wallace13.3519.0015.081.93614.4021.143
Julian Edelman12.0016.0014.541.39515.0022.429
Anquan Boldin12.9520.0015.162.78814.0022.571
Vincent Jackson11.5017.5514.362.08914.0022.714
Sammy Watkins11.9018.0014.942.33415.5123.286
Larry Fitzgerald10.2620.0015.313.52516.0023.143
Brandon LaFell12.9019.0015.472.38615.5023.667
DeAndre Hopkins10.5018.0014.492.72014.0025.000
Brandin Cooks11.0016.0013.671.86413.6026.429
Odell Beckham8.4019.0013.793.60313.9629.286
Andre Johnson11.0014.9713.111.33413.0029.167
Pierre Garcon10.9622.0013.773.70913.0030.286
Keenan Allen10.0014.0012.251.52813.0030.714
diff --git a/RMarkdown/GoldMining/SourceArbitrage.html b/RMarkdown/GoldMining/SourceArbitrage.html new file mode 100644 index 0000000..2feaea4 --- /dev/null +++ b/RMarkdown/GoldMining/SourceArbitrage.html @@ -0,0 +1,626 @@ + + + + + + + + + + + + + +Source Arbitrage + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Source Arbitrage

+

If you are fairly confident that one of your league mates only uses one source and you know what that source is, you may be able to get them to trade a player to you that is undervalued by that source. Likewise you may be able to trade to them a player that is overvalued by that source. The table below shows the difference between the source projection and the mean projection for each player. A negative number means the source undervalues the player and a positive number means the source over-values the player.

+

Suppose your league is a yahoo league. It is likely that your league mates use yahoo projections to value trades. Sometimes yahoo places a very high valuation on a players performance. If that’s the case, and you have one or two of those players, you may be able to trade those players away for players with higher consensus value.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
namedave_richardespnffsfxjamey_eisenbergppyahoo
A.J. Green2.76002.76002.7600-1.54001.7600-6.5400-1.9600
Alshon Jeffery-0.08430.91573.9157-2.88433.9157-3.0843-2.6943
Andre Holmes-2.6229-1.62290.37712.1771-1.62292.37710.9371
Andre Johnson0.2217-1.7783-0.77830.32170.2217NA1.7917
Andrew Hawkins-6.03504.9650-0.03502.2650-2.0350NA0.8750
Anquan Boldin3.5643-1.4357-2.4357-1.03572.56430.1643-1.3857
Antonio Brown1.0686-0.93142.0686-2.83142.0686-0.7314-0.7114
Brandin Cooks2.5571-2.4429-2.4429-0.54292.5571-0.04290.3571
Brandon LaFell1.31501.31502.3150-2.2850-0.6850NA-1.9750
Brandon Marshall1.5367-6.46331.5367-2.16334.5367NA1.0167
Calvin Johnson2.16711.16712.1671-2.03293.1671-6.0329-0.6029
Cordarrelle Patterson-0.03433.9657-3.03430.3657-1.0343-0.83430.6057
DeAndre Hopkins-0.56003.4400-1.5600-2.96002.44000.1400-0.9400
DeSean Jackson1.94711.94712.9471-2.75290.9471-0.4529-4.5829
Demaryius Thomas1.39000.39002.3900-2.61002.3900-1.9100-2.0400
Doug Baldwin-0.74433.2557-0.74430.7557-0.7443-1.94430.1657
Dwayne Bowe-2.4414-0.4414-0.44144.3586-0.4414-0.4414-0.1514
Eddie Royal-4.1014-3.10144.89863.3986-1.10141.7986-1.7914
Emmanuel Sanders2.10430.10432.1043-3.69573.1043-1.6957-2.0257
Golden Tate-0.1514-4.15146.8486-1.95140.84862.3486-3.7914
Greg Jennings-0.37004.6300-1.37000.1300-3.37000.5300-0.1800
James Jones-2.93143.0686-0.93140.7686-0.9314-0.13141.0886
Jeremy Maclin1.14572.14573.1457-3.45431.1457-1.1543-2.9743
John Brown4.2200-2.7800-2.7800-0.88003.2200NA-1.0000
Jordan Matthews1.4386-4.56143.4386-1.56142.43860.0386-1.2314
Jordy Nelson1.5600-0.44001.5600-4.04002.56000.5600-1.7600
Julian Edelman-0.4143-2.4143-0.4143-0.11431.58570.28571.4857
Julio Jones0.29711.29714.2971-4.30292.2971-2.3029-1.5829
Justin Hunter0.9286-3.0714-2.0714-0.87143.9286-0.47141.6286
Keenan Allen0.7029-2.2971-0.29711.30290.7029-1.29711.1829
Kelvin Benjamin1.27572.27572.2757-4.12431.2757-0.6243-2.3543
Kendall Wright-1.39003.6100-1.39000.1100-1.39000.01000.4400
Kenny Britt-2.88004.1200-1.88002.1200-2.8800-0.78002.1800
Larry Fitzgerald-0.70863.29144.29140.9914-1.7086-2.2086-3.9486
Malcom Floyd1.7900-4.2100-2.21003.79001.7900-0.0100-0.9400
Markus Wheaton-2.0757-1.0757-0.07572.5243-0.07570.52430.2543
Marques Colston-1.4543-1.4543-0.45433.9457-1.45430.14570.7257
Martavis Bryant0.97572.97570.9757-2.72432.9757-3.8243-1.3543
Michael Crabtree0.24714.2471-1.7529-1.9529-0.7529-0.75290.7171
Mike Evans3.40861.40861.4086-4.09141.4086-1.3914-2.1514
Mike Wallace0.62140.62142.6214-0.7786-0.3786-1.3786-1.3286
Mohamed Sanu2.5271-1.4729-2.4729-0.57290.52711.5271-0.0629
Odell Beckham3.69141.6914-2.3086-2.60862.6914-3.30860.1514
Pierre Garcon-1.2657-2.26575.7343-0.6657-0.2657-0.0657-1.2057
Randall Cobb0.7443-0.25571.7443-4.95572.74431.4443-1.4657
Reggie Wayne-0.0400-1.0400-1.04000.9600-0.0400-0.14001.3400
Roddy White1.59570.59571.5957-2.50432.5957-2.7043-1.1743
Rueben Randle-0.9300-1.93000.07001.5700-0.9300-0.43002.5800
Sammy Watkins-0.24431.75572.7557-2.74430.7557-2.34430.0657
T.Y. Hilton2.93001.93003.9300-5.87001.9300-1.5700-3.2800
Vincent Jackson-0.02140.9786-2.02141.1786-1.0214-1.92142.8286
Wes Welker-1.5586-2.55866.44142.4414-2.5586-1.8586-0.3486
+
+ + +
+ + + + + + + + diff --git a/RMarkdown/GoldMining/ffa_wr.RData b/RMarkdown/GoldMining/ffa_wr.RData index 9676e1ad3d34a2c63fe0a89c839e1688b52bea0d..d12a03f7117800d0621324cd226fe6fd1b1844ec 100644 GIT binary patch literal 15826 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