#############################
### PROST SLUCAJAN UZORAK ###
#############################
# 1. zadatak
x <- c(2,5,1,4,4,3,2,5,2,3)
n <- 10
N <- 100
t <- N*mean(x)
m <- mean(x)
d_t <- 900*var(x)
d_m <- 0.09*var(x)
c(t-qt(0.95,9)*sqrt(d_t),t+qt(0.95,9)*sqrt(d_t))
c(m-qt(0.95,9)*sqrt(d_m),m+qt(0.95,9)*sqrt(d_m))
# 3. zadatak
uzorak <- c(1, 50, 21, 98, 2, 36, 4, 29, 7, 15, 86, 10, 21, 5, 4)
uzorak
N <- 286
n <- length(uzorak)
(ocena_sredine <- mean(uzorak))
(disperzija_uzorka <- var(uzorak))
(ocena_disperzije <- (N-n)/(N*n)*disperzija_uzorka)
(standardna_greska <- sqrt(ocena_disperzije))
N*c(ocena_sredine-sqrt(ocena_disperzije)*qt(0.95,14),ocena_sredine+sqrt(ocena_disperzije)*qt(0.95,14))
n_0 <- N^2*qnorm(0.95)^2*disperzija_uzorka/(2000^2)
n_ocena <- 1/(1/n_0 +1/N)
# 5. zadatak
baza1 <- read.table("D:\...\baza1.txt")
baza1
s<-sample(length(baza1$V1), 8)
uzorak<-baza1[s,]
install.packages('survey')
library(survey)
uzorak$Total <- 51  ##dodamo kolonu bazi uzorka
uzorak1 <- svydesign(ids=~1, data=uzorak, fpc=~uzorak$Total)
print(uzorak1)
svymean(~V2, uzorak1)
mean(uzorak$V2)
svytotal(~V2, uzorak1)
confint(svytotal(~V2, uzorak1))
# 6. zadatak
trees
trees[sample(length(trees$Girth), 10),]
totali <- c()
sredine <- c()
for (i in 1:1000){
  totali[i] <- 31*mean(trees[sample(length(trees$Girth), 10),]$Volume)
  sredine[i] <- mean(trees[sample(length(trees$Girth), 10),]$Volume)
}
totali
sredine
hist(totali)
hist(sredine)

##########################################
### UZORAK SA NEJEDNAKIM VEROVATNOCAMA ###
##########################################
# 2. zadatak - Lahiri metod
N <- 15
n <- 3
velicine <- c(23,30,41,26,53,60,28,52,113,72,80,35,42,38,52)
M <- max(velicine)
uzorak <- c()
while (length(uzorak)<3){
  R <- sample(1:M,1)
  i <- sample(1:N,1)
  if (R <=velicine[i])
    uzorak <- c(uzorak,i)
}
uzorak
# 6. zadatak 
N <- length(trees$Girth)
# verovatnoce izbora
(p <- trees$Girth/sum(trees$Girth))
sum(p)
# izbor uzorka sa ponavljanjem sa verovatnocom izbora proporcionalnoj girth
n <- 10
(s <- sample(1:N, n, repl=T, prob=p))
(uzorak <- trees$Volume[s])
(m <- mean(uzorak))
# 7. zadatak
baza2 <- read.table("D:\...\baza2.txt")
baza2
p_i <- baza2$V1/sum(baza2$V1)
s <- sample(1:10,3,prob = p_i)
(uzorak <- baza2[s,])
(ocena_proiz <- sum(uzorak$V2/p_i[s])/3)

############################
### STRATIFIKOVAN UZORAK ###
############################
# 7. zadatak 
baza3 <- read.table("D:/.../baza3.txt")
attach(baza3)
n <- 30
(N <- length(V1))
(N1 <- length(baza3[V1==1,]$V1))
(N2 <- length(baza3[V1==2,]$V1))
(N3 <- length(baza3[V1==3,]$V1))
(n1 <- round(n/N*N1))
(n2 <- round(n/N*N2))
(n3 <- round(n/N*N3))
(uzorak_str1 <- baza3[V1==1,][sample(1:N1,n1),])
(uzorak_str2 <- baza3[V1==2,][sample(1:N2,n2),])
(uzorak_str3 <- baza3[V1==3,][sample(1:N3,n3),])
x_h <- c(mean(uzorak_str1$V2),mean(uzorak_str2$V2),mean(uzorak_str3$V2))
N_h <- c(N1,N2,N3)
(broj_poseta <- sum(x_h*N_h)/N)
n_h <- c(n1,n2,n3)
S2_h <- c(var(baza3[V1==1,]$V2),var(baza3[V1==2,]$V2),var(baza3[V1==3,]$V2))
(disp_ocene <- sum(N_h*S2_h)*(N-n)/(N*N*n))
s2_h <- c(var(uzorak_str1$V2),var(uzorak_str2$V2),var(uzorak_str3$V2))
(ocena_disp <- sum(N_h*s2_h)*(N-n)/(N*N*n))

###########################################
### KOLICNICKO I REGRESIONO OCENJIVANJE ###
###########################################
# 8. zadatak
baza4 <- read.delim("D:/.../baza4.txt", header=FALSE)
(y_srednje <- 5475/75)
(b <- cov(baza4$Y,baza4$X)/var(baza4$Y))
(x_lr <- mean(baza4$X)+b*(y_srednje-mean(baza4$Y)))
(t_lr <- 75*x_lr)

######################
### KLASTER UZORAK ###
######################
# 2. zadatak
t_i <- c(4,12,7)
M_i <- c(5,20,10)
N <- 10
M <- 100
n <- 3
(t <- N*mean(t_i))
(ocena_D_t <- N^2/n *(1-n/N) * var(t_i))
  # 95% interval poverenja za ocenu totala
c(t-qt(0.975,n-1)*sqrt(ocena_disp),t+qt(0.975,n-1)*sqrt(ocena_disp))
# 3. zadatak 
p_i <- M_i/M
p_i
(t_hh <- mean(t_i/p_i))
(ocena_D_t_hh <- var(t_i/p_i)/n)

##########################
### SISTEMATSKI UZORAK ###
##########################
# 2. zadatak
M <- 900
k <- round(900/120)
start <- sample(1:k, 1)
(s <- seq(start, M, k))
(uzorak <-c(s,cumsum(c(max(s)+k-M,rep(k,120-round(900/k)-1)))[1:(120-length(s))]))

