嘿伙计,所以我有这个功能,从NBA统计网站返回JSON数据的数据框.该函数接收某个游戏的游戏ID并返回该游戏的半场盒子得分的数据框.
getstats<- function(game=x){
for(i in game){
url<- paste("http://stats.nba.com/stats/boxscoretraditionalv2?EndPeriod=10&
EndRange=14400&GameID=",i,"&RangeType=2&Season=2015-16&SeasonType=
Regular+Season&StartPeriod=1&StartRange=0000",sep = "")
json_data<- fromJSON(paste(readLines(url), collapse=""))
df<- data.frame(json_data$resultSets[1, "rowSet"])
names(df)<-unlist(json_data$resultSets[1,"headers"])
}
return(df)
}
Run Code Online (Sandbox Code Playgroud)
所以我想用这个函数做的是获取几个游戏ID的向量,并为每个游戏ID创建一个单独的数据框.例如:
gameids<- as.character(c(0021500580:0021500593))
Run Code Online (Sandbox Code Playgroud)
我想采用矢量"gameids",并创建十四个数据帧.如果有人知道我将如何做到这一点,将不胜感激!谢谢!
我希望创建一个与David Robinson 方差解释博客上的此图类似的图:
我想我已经把它放下了,除了可信间隔之间和后曲线下方的填充之外。如果有人知道如何做到这一点,那么获得一些建议将会很棒。
这是一些示例代码:
library(ebbr)
library(ggplot2)
library(dplyr)
sample<- data.frame(id=factor(1:10), yes=c(20, 33, 44, 51, 50, 50, 66, 41, 91, 59),
total=rep(100, 10))
sample<-
sample %>%
mutate(rate=yes/total)
pri<-
sample %>%
ebb_fit_prior(yes, total)
sam.pri<- augment(pri, data=sample)
post<- function(ID){
a<-
sam.pri %>%
filter(id==ID)
ggplot(data=a, aes(x=rate))+
stat_function(geom="line", col="black", size=1.1, fun=function(x)
dbeta(x, a$.alpha1, a$.beta1))+
stat_function(geom="line", lty=2, size=1.1,
fun=function(x) dbeta(x, pri$parameters$alpha, pri$parameters$beta))+
geom_segment(aes(x=a$.low, y=0, xend=a$.low, yend=.5), col="red", size=1.05)+
geom_segment(aes(x = a$.high, y=0, xend=a$.high, yend=.5), col="red", size=1.05)+
geom_segment(aes(x=a$.low, y=.25, xend=a$.high, yend=.25), col="red", size=1.05)+
xlim(0,1)
} …Run Code Online (Sandbox Code Playgroud)