计数直到条件为真

Count until condition is true

计算在两个数字加起来为“11”之前,有多少次将从 'x <- c(2,4,5,6,8,3)' 的向量中进行替换的两个数字的样本。一得到两个正好等于11的数就停止循环,然后统计在停止前选择了多少个样本?

 x <- c(2,4,5,6,8,3)
 y <- c()
 repeat{y <- c(y, sample(x[!x %in% y], 1) )
if( sum(v2) == 11 )
break
 }

我感兴趣的是,在第一个样本总和为 11 之前,有多少两个样本总和不等于 11。

试试这个方法:

x <- c(2,4,5,6,8,3)
y <- c()
i<-0
while(sum(y)!=11)
{
  y <- sample(x[!x %in% y], 2)
  i<-i+1
}
i

在 while 循环中,您提取了样本和一个计数器,循环直到总和为 11。 在 i 中,您将拥有一对总和等于 11 所需的循环数。