Uppgift 1

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

1B)

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

Uppgift 2

  1. Beräkna med R den exakta sannolikheten för att i en skolklass med 25 elever det finns två med samma födelsedag. Använd factorial(n) ger fakultetsfunktionen i R.

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.

2B)

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