Y = c(576, 635, 558, 578, 666, 580, 555, 661, 651, 605, 653, 575, 545, 572, 594)
Z = c(3.39, 3.30, 2.81, 3.03, 3.44, 3.07, 3.00, 3.43, 3.36, 3.13, 3.12, 2.74, 2.76, 2.88, 3.96)
n = length(Y)

koef_korelacije = function(y, z) {
  sum((y-mean(y))*(z-mean(z)))/
    sqrt(sum((y-mean(y))^2)*sum((z-mean(z))^2))
}

(Tn = koef_korelacije(Y, Z))

# Dzeknajf ocena standardne greske 
T_i = rep(0, n)
for (i in 1:n) {
  y = Y[-i]
  z = Z[-i]
  T_i[i] = koef_korelacije(y,z)
}
(se_jack = sd(T_i)*sqrt((n - 1)^2/n))

# Butstrep ocena standardne greske 
B = 1000
T_b = c()
for (i in 1:B) {
  indeks = sample(1:n, n, replace = T)
  ys = Y[indeks]
  zs = Z[indeks]
  T_b[i] = koef_korelacije(ys, zs)
}
(se_boot = sd(T_b)*sqrt((B-1)/B))
