함수의 출력을 변수에 저장하는 데 문제가 있습니다. 나는 내가 해결하려고하는 문제에 대해 약간의 맥락을 제시하는 것이 최선이라고 생각한다. 플레이어가 "A"와 "R"은 테니스 게임을한다고 가정 의 runningScoreFn는 pointHistory 벡터를 요약하고 좋은 data.frame함수의 출력을 변수에 저장 R
runningScoreFn = function(pointHistory){
playerUni = c("a", "r")
cols = sapply(playerUni, function(thisPlayer){
cumsum(pointHistory == thisPlayer)
})
names(cols) = playerUni
cbind(pointHistory, as.data.frame(cols))
}
"는의 게임을 활약 oneEpxiermentGameFn에 모든 것을 함께 박았 "vs"r ". 4 포인트를 획득 한 첫 번째 플레이어가 게임에서 이기지만 최소한 2 포인트 앞서야합니다. "r"은 60 %의 확률로 1 점을 얻습니다.
pRogerPoint = 0.6
oneExperimentGameFn = function(pRogerPoint){
game = c(rep("r",pRogerPoint * 100), rep("a", 100-pRogerPoint*100))
i = 4
keepGoing = TRUE
while(keepGoing){
whosePoint = sample(game, size=i, replace=TRUE)
if(sum(whosePoint=="r")-sum(whosePoint=="a")>=2){
success = TRUE
print(cbind(runningScoreFn(whosePoint),success=success))
keepGoing = FALSE
}else if(sum(whosePoint=="a")-sum(whosePoint=="r")>=2){
success = FALSE
print(cbind(runningScoreFn(whosePoint),success=success))
keepGoing = FALSE
}
i=i+1
}
}
pRogerGameFn은 Roger가 게임에서 승리 할 확률을 나타냅니다.
pRogerGameFn = function(pRogerPoint, NExperiments){
RogerGameFn = lapply(1:NExperiments,function(dummy){
ok=oneExperimentGameFn(pRogerPoint)
})}
여기 출력을 변수 ok에 저장하려고하지만 ok는 NULL을 반환합니다. 내 생각 엔 이것이 내 한 번의 실험 게임과 관련이 있다고 생각해. 나는 또한 ok = RogerGameFn을 시도했지만 ok도 NULL을 반환합니다.