2017-03-10 2 views
0

내 코드는 100 달러짜리 동전을 시뮬레이션 한 것입니다. 여기서 10 달러 지분을 잃으면 파산합니다 (즉, 순손실/손실은 100 플립 이내에서 -10 퍼센트에 이릅니다. 각 플립은 1 달러 베팅입니다). 500 번 실행하고 이익/손실 결과를 하나의 벡터로 저장하려고합니다. 내가 가장 효율적인 방법이 아닐 수도 있지만, 플립을 위해 일하는 코드가 대부분 있습니다. for 루프를 추가하거나 적용하는 것이 가장 좋을까요?시뮬레이션 결과를 벡터로 저장하려면 루프 또는 적용 하시겠습니까?

n=100 
total.profit=c() 
game.cashflow = cumsum(2*rbinom(n,1,prob=0.5)-1) 
    if(length(game.cashflow[game.cashflow==-10])>0){ 
    game.profit=-10}else{ 
     game.profit=game.cashflow[1000]} 

결과를 total.profit 벡터에 저장하고 싶습니다.

+0

'replicate()'에 대해 살펴보십시오. – jogo

답변

2

이와 비슷한 기능이 있습니까?

flipit <- function(n) { 
    res <- sample(c(-1,1),n,replace=TRUE) 
    ifelse(any(cumsum(res)<=-10),"bust",sum(res)) 
} 

replicate(500,flipit(100)) 
관련 문제