a <- c("A", "AB", "B", "O")
b <- c(0.40, 0.04, 0.11, 0.45)
totallength <- 0 # initialize
totallength[1:(length(b))] <- 0 # initialize
totallength[1] <- b[1]*b[1]
totallength[2] <- b[2]*b[2]
totallength[3] <- b[3]*b[3]
totallength[4] <- b[4]*b[4]
print(a)
## [1] "A" "AB" "B" "O"
print(totallength)
## [1] 0.1600 0.0016 0.0121 0.2025
sum(totallength)
## [1] 0.3762
a <- c("A", "AB", "B", "O")
b <- c(0.40, 0.04, 0.11, 0.45)
sample(x = a, size = 2, prob = b, replace = TRUE)
## [1] "A" "O"
sim_data <- sample(
x = a, size = 10000,
prob = b, replace = TRUE
)
table(sim_data)
## sim_data
## A AB B O
## 4025 405 1051 4519
table(sim_data) / 10000
## sim_data
## A AB B O
## 0.4025 0.0405 0.1051 0.4519
totallength <- 0 # initialize
totallength[1:(length(b))] <- 0 # initialize
totallength[1] <- table(sim_data)[1]*table(sim_data)[1]
totallength[2] <- table(sim_data)[2]*table(sim_data)[2]
totallength[3] <- table(sim_data)[3]*table(sim_data)[3]
totallength[4] <- table(sim_data)[4]*table(sim_data)[4]
print(a)
## [1] "A" "AB" "B" "O"
print(totallength/100000000)
## [1] 0.16200625 0.00164025 0.01104601 0.20421361
sum(totallength/100000000)
## [1] 0.3789061
k = #individer med samma födelsedag (i klassen)
k = 25 # klasskamrater
p <- numeric(k) # sannolikheter
for (i in 1:k) {
q <- 1 - (0:(i - 1))/365 # 1 - sannolikhet(inga matchningar)
p[i] <- 1 - prod(q) }
prob <- p[k]
Sannolikheten för att det finns två elever med samma födelsedag bland 25 elever blir:
prob
## [1] 0.5686997
pbirthday(25)
## [1] 0.5686997
Pbirthday visar att vi har fått rätt uträkning.
k = 25 # klasskamrater
p <- numeric(k) # sannolikheter
for (i in 1:k) {
q <- 1 - (0:(i - 1))/365.2425 # 1 - sannolikhet(inga matchningar)
p[i] <- 1 - prod(q) }
prob <- p[k]
prob
## [1] 0.5684532