Search code examples
rif-statementdistributiondata-generationbeta-distribution

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


I am working currently on generating some random data for a school project.

I have created a variable in R using a binomial distribution to determine if an observation had a loss yes=1 or not=0. Afterwards I am trying to generate the loss amount using a random distribution for all observations which already had a loss (=1).

As my loss amount is a percentage it can be anywhere between 0

What Is The Intuition Behind Beta Distribution @ stats.stackexchange

In a third step I am looking for an if statement, which combines my two variables.

Please find below my code (which is only working for the Loss_Y_N variable):

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

ideally I can combine the two into something like

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) 

Any input highly appreciated!


Solution

  • Create a vector for your loss proportion. Fill up the elements corresponding to losses with draws from the beta. Tweak the parameters for the beta until you get the desired result.

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