2
내 코드의 마지막 줄에 충분한 메모리가 없다는 오류가 표시됩니다. 어떤 도움을 주시면 감사하겠습니다! 모든 조합을 찾은 후 그룹 1에서 4까지 선택한 2 개와 그룹 5에서 선택한 1 개를 포함한 9 명의 플레이어 팀을 구성 할 수 있습니다. 모든 조합을 찾은 후 모든 조합을 주어진 급여 임계 값 아래로 찾고 싶습니다.메모리가 부족하여 실행 속도가 느리다.
pg.number= 1:10
sg.number= 11:20
sf.number= 21:30
pf.number=31:40
c.number=41:50
pg.combos= combn(pg.number, 2)
sg.combos= combn(sg.number,2)
sf.combos= combn(sf.number, 2)
pf.combos= combn(pf.number, 2)
c.combos= combn(c.number, 1)
replicate.vec= function(vector,matrix.1) {
empty.matrix<- matrix(vector, nrow=length(vector), ncol= ncol(matrix.1))
rbind(matrix.1, empty.matrix)
}
list<- as.list(numeric(ncol(sg.combos)))
for (i in 1:ncol(sg.combos)) {
list[[i]]=replicate.vec(sg.combos[,i],pg.combos)
}
pg.and.sg<-as.matrix(do.call(cbind,list))
list<- as.list(numeric(ncol(sf.combos)))
for (i in 1:ncol(sf.combos)) {
list[[i]]=replicate.vec(sf.combos[,i],pg.and.sg)
}
pg.sg.sf<-as.matrix(do.call(cbind,list))
list<- as.list(numeric(ncol(pf.combos)))
for (i in 1:ncol(pf.combos)) {
list[[i]]=replicate.vec(pf.combos[,i],pg.sg.sf)
}
pg.sg.sf.pf<-as.matrix(do.call(cbind,list))
list<- as.list(numeric(ncol(c.combos)))
for (i in 1:ncol(c.combos)) {
list[[i]]=replicate.vec(c.combos[,i],pg.sg.sf.pf)
}
all.lineups<-as.matrix(do.call(cbind,list))
all.lineups
c1<- 1:50
c2<- rnorm(50)
c3<- rnorm(50, mean=100)
c4<- rnorm(50)
df<- data.frame(cbind(c1,c2,c3,c4))
get.fantasy.salary<- function(vector) {
sum(df[vector,3])
}
get.fantasy.points<- function(vector) {
sum(df[vector,4])
}
sum.salary<-apply(all.lineups,2, get.fantasy.salary)
왜 각 그룹에서 최저 임금으로 선수를 데려 가지 않니? –
@marat 내 게시물을 편집했습니다. 주어진 급여 기준 액보다 낮은 모든 조합을 찾고 싶습니다. – Zslice
아마도 영리한 수학은 프로그래밍보다 영리한 도움이 될 것입니다. MathOverflow를 최적의 알고리즘으로 간주 했습니까? – nacnudus