####################
###  1. zadatak  ###
####################

xk = c(12.44, 15.67, 10.76,  4.89, 17.62, 24.02, 18.63, 10.02, 21.38, 13.13, 15.42, 19.86, 15.76, 18.68, 12.00)
xt = c(11.93,  7.89,  5.09, 12.54,  8.54, 12.56, 10.38,  4.65,  8.09, 12.42, 14.46,  6.93, 16.09,  7.51, 13.65)

## 1. (a)

chisq.test(xk, xt)

## 1. (b)

var.test(xk, xt, ratio = 1, alternative = "two.sided")
t.test(xk, xt, var.equal = T)

## 1. (v)

confidence_interval_m <- function(x, alfa = 0.95) {
  n <- length(x) 
  C <- qt((1 + alfa)/2, df = n - 1)
  
  c(mean(x) - C * sd(x) / sqrt(n-1),mean(x) + C * sd(x) / sqrt(n-1))
}

confidence_interval_m(xk)

## 1. (g)

confidence_interval_s2 <- function(x, alfa = 0.90) {
  n <- length(x) 
  c1 <- qchisq((1 + alfa)/2, df = n - 1)
  c2 <- qchisq((1 - alfa)/2, df = n - 1)
  c(n * var(x) / c1, n * var(x) / c2)
}

confidence_interval_s2(xk)
var(xk)
sqrt(confidence_interval_s2(xt))


####################
###  2. zadatak  ###
####################

# W = 5/4*(-log(U))^(-1/3)

set.seed(1)

r_frechet <- function(n) {
  u <- runif(n)
  w <- 5/4*(-log(u))^(-1/3)
  return(w)
}

x <- r_frechet(10000)

hist(x, prob = TRUE)

# fresheova raspodela G(1,3,5/4)
curve(dfrechet(x, shape = 3, scale = 5/4), col = "blue", lwd = 2, add = TRUE)

####################
###  3. zadatak  ###
####################


runs = 5000

get.R = function(n,m){
  set = 1:n
  subset = sample(set, size = m, replace = F)
  R = max(subset) - min(subset)
  return(R)
}

mc.R = sum(replicate(runs,get.R(2024,11)))/runs
mc.R

# ER = (m-1)/(m+1)*(n+1)