R simulations
GOAL: simulate data for testing.
Simulation of throwing a dice 4 times:
sample(1:6, 4, replace = TRUE)
Replaced = TRUE insert the data after each launch.
You can set up the probability of each event.
Es. throw a coin 100 times with 30% tails probability (0) and 70% heads (1)
sample(c(0,1), 100, replace = TRUE, prob = c(0.3, 0.7))
Each random variable has a function for simulation (named r[RVname]).
Es. binomial (like previous example):
rbinom(1, size = 100, prob = 0.7) #heads number, probability 70%
rbinom(100, size = 1, prob = 0.7) #results on 100 flips
Es. normal:
rnorm(10) #10 random numbers from standard normal (avg 0, sd 1)
rnorm(10,100,25) #10 random number from normal with avg 100 and sd 25
replicate() to replicate an operation n times.
Es. simulate 100 groups of random numbers, each of them with 5 values generated by a Poisson with average = 10:
replicate(100, rpois(5, 10))
#colMeans() to see the average of each column:
colMeans(replicate(100, rpois(5, 10)))
#histogram: we will see that are distributed like a normal (central limit theorem)
hist(colMeans(replicate(100, rpois(5, 10))))
With set.seed() you can replicate every time the sample you used:
set.seed(125) #125 is a random integer
sample(1:6, 4, replace = TRUE)
If you use this function with set.seed(125) the results will be always the same.