誰が先頭打者になるかによって、1イニングで取る得点が変わりそうなのでその準備。
1,2,3,…,9という順列をひたすら
2,3,4,…,9,1
2,3,4,…,9,1,2
9,1,2,…,8
とベタに並び変えた仮想打順チームをarray関数を用いて作っておこうか。
よさげな関数がなかったので自作してみる。
# 今までのスクリプトと同じ変数で people<- 4 Nbase<- 3 library(MCMCpack) # とりあえずなんかチームを作っておく。 team<- rdirichlet(people,rep(1,(Nbase+1))) # 上記の、数列をくるくる入れ替えたパターンを作成。 m1<- mapply(seq,1:people,people) m2<- mapply(seq,1,1:people) m<- list(0) for(i in 1:(people-1)){ m<- c(m,list(0)) } for(y in 1:people){ m[[y]]<- unique(c(m1[[y]],m2[[y]])) } TB<- matrix(unlist(m),people,people,byrow=T) # 完成。 # 打率をくっつける。 team.array<- array(0,c(people,(Nbase+1),people)) for(k in 1:people){ # k項目が、k番打者が先頭になっている。 team.array[,,k]<- team[TB[k,],] }