R 的新手并尝试将函数放入 for 循环中。当我有另一个函数时,该函数可以工作并且 for 循环可以工作,但是当我将它们放在一起时,我收到错误“缺少 TRUE/FALSE 需要的值”,而我以前不需要它。我的功能是:
roll <- function(){
die<- 1:20 # 20 sided die
dice <- sample(die, 2, replace=TRUE) # Roll the die twice
sum(dice) # Add results
}
我试图让它在将输出放入矩阵的同时运行 100 多次。也许我只是不太了解 for 循环的问题,但我是这样理解的:
for(i in 1:nrolls) { #nrolls=100
roll <- sample(die)
if(roll[i] >= 25) {
G_than <- 1
} else{
L_than <- 1
}
}
任何帮助,将不胜感激!
For 循环不是你应该在这种情况下使用的。
如果您想在这样的向量中获得结果,只需使用 sapply :
roll <- function(x){
die<- 1:20 # 20 sided die
dice <- sample(die, 2, replace=TRUE) # Roll the die twice
sum(dice) # Add results
}
sapply(c(1:100), roll)
请注意, sapply 会将参数发送给函数,因此您需要更改 roll 以获取该输入(并且不对其进行任何操作)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句