以给定概率返回 TRUE 的函数

Rem*_*i.b 1 r probability

我正在寻找一个TRUE以给定概率返回的函数。就像是:

> proba = 2/3
> function(proba)
Run Code Online (Sandbox Code Playgroud)

TRUE以 2/3 的概率返回(或 1),以FALSE1/3 的概率返回(或 0)

我能想到的唯一计算方法是:

> sample(c(rep(1,ceiling(proba*100)),rep(0,ceiling((1-proba)*100))),1)
Run Code Online (Sandbox Code Playgroud)

但它只给出了一个近似值(而且看起来并不好看!),因为它只能处理小数位数有限的值。

Rol*_*and 5

proba <- 2/3   
# number of values:
n <- 1

as.logical(rbinom(n,size=1,prob=proba))
Run Code Online (Sandbox Code Playgroud)