如何使用 if 函数在 r 中创建随机损失样本

how to create a random loss sample in r using if function

我目前正在为学校项目生成一些随机数据。

我使用二项分布在 R 中创建了一个变量,以确定观察值是否有损失 yes=1 或 not=0。 之后,我尝试对已经有损失(=1)的所有观察结果使用随机分布来生成损失量。

因为我的损失金额是百分比,所以它可以介于 0 之间

What Is The Intuition Behind Beta Distribution @ stats.stackexchange

在第三步中,我正在寻找一个 if 语句,它结合了我的两个变量。

请在下面找到我的代码(仅适用于 Loss_Y_N 变量):

Loss_Y_N = rbinom(1000000,1,0.01)
Loss_Amount = dbeta(x, 10, 990, ncp = 0, log = FALSE)

理想情况下,我可以将两者结合成类似

的东西
if(Loss_Y_N=1 then Loss_Amount=dbeta(...) #... is meant to be a random variable with mean=0.15 and should be 0<x=<1
else Loss_Amount=0) 

非常感谢任何意见!

为您的损失比例创建一个向量。用 beta 中的平局填充与损失相对应的元素。调整测试版的参数,直到获得所需的结果。

N <- 100000
loss_indicator <- rbinom(N, 1, 0.1)
loss_prop <- numeric(N)
loss_prop[loss_indicator > 0] <- rbeta(sum(loss_indicator), 10, 990)