library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
df=read_xlsx("D:/sem 4/sampling/UTS Teknik Sampling.xlsx")
df
## # A tibble: 790 × 8
##       ID Wilayah            Desa     RT    Jenis_Kelamin  Umur Pendapatan_Y_juta
##    <dbl> <chr>              <chr>    <chr> <chr>         <dbl>             <dbl>
##  1     1 Kota Palangka Raya Sebangau Seba… L                34              3.29
##  2     2 Kota Palangka Raya Tangkil… Tang… L                40              3.71
##  3     3 Kota Palangka Raya Tangkil… Tang… P                25              2.73
##  4     4 Kota Palangka Raya Sebangau Seba… P                42              2.29
##  5     5 Kota Palangka Raya Bukit B… Buki… L                45              3.47
##  6     6 Kota Palangka Raya Bukit B… Buki… P                26              2.22
##  7     7 Kota Palangka Raya Tangkil… Tang… P                38              1.68
##  8     8 Kota Palangka Raya Tangkil… Tang… L                34              3.00
##  9     9 Kota Palangka Raya Bukit B… Buki… P                48              3.59
## 10    10 Kota Palangka Raya Sebangau Seba… P                35              2.70
## # ℹ 780 more rows
## # ℹ 1 more variable: Pengeluaran_X_juta <dbl>
#bagi strata
set.seed(123)
df$strata=cut(df$Umur,
                  breaks=c(15,24,34,44,54,64,74),
                  labels=c("Anak","Remaja","Muda","Dewasa","Tua","Lansia"))
N=nrow(df)
N
## [1] 790
head(df)
## # A tibble: 6 × 9
##      ID Wilayah            Desa      RT    Jenis_Kelamin  Umur Pendapatan_Y_juta
##   <dbl> <chr>              <chr>     <chr> <chr>         <dbl>             <dbl>
## 1     1 Kota Palangka Raya Sebangau  Seba… L                34              3.29
## 2     2 Kota Palangka Raya Tangkili… Tang… L                40              3.71
## 3     3 Kota Palangka Raya Tangkili… Tang… P                25              2.73
## 4     4 Kota Palangka Raya Sebangau  Seba… P                42              2.29
## 5     5 Kota Palangka Raya Bukit Ba… Buki… L                45              3.47
## 6     6 Kota Palangka Raya Bukit Ba… Buki… P                26              2.22
## # ℹ 2 more variables: Pengeluaran_X_juta <dbl>, strata <fct>
table(df$strata)
## 
##   Anak Remaja   Muda Dewasa    Tua Lansia 
##    118    266    249    118     35      4
Nh=table(df$strata)

n=60
nh=round((Nh/N)*n)
nh
## 
##   Anak Remaja   Muda Dewasa    Tua Lansia 
##      9     20     19      9      3      0
sampel_Anak=df[df$strata=="Anak",]
sampel_Remaja=df[df$strata=="Remaja",]
sampel_Muda=df[df$strata=="Muda",]
sampel_Dewasa=df[df$strata=="Dewasa",]
sampel_Tua=df[df$strata=="Tua",]
sampel_Lansia=df[df$strata=="Lansia",]

sampel_Anak=sampel_Anak[sample(nrow(sampel_Anak),nh["Anak"]),]
sampel_Remaja=sampel_Remaja[sample(nrow(sampel_Remaja),nh["Remaja"]),]
sampel_Muda=sampel_Muda[sample(nrow(sampel_Muda),nh["Muda"]),]
sampel_Dewasa=sampel_Dewasa[sample(nrow(sampel_Dewasa),nh["Dewasa"]),]
sampel_Tua=sampel_Tua[sample(nrow(sampel_Dewasa),nh["Tua"]),]
sampel_Lansia=sampel_Lansia[sample(nrow(sampel_Lansia),nh["Lansia"]),]

sampel_final=rbind(sampel_Anak,
                   sampel_Remaja,
                   sampel_Muda,
                   sampel_Dewasa,
                   sampel_Tua,
                   sampel_Lansia)
nrow(sampel_final)
## [1] 60
sampel_final
## # A tibble: 60 × 9
##       ID Wilayah               Desa  RT    Jenis_Kelamin  Umur Pendapatan_Y_juta
##    <dbl> <chr>                 <chr> <chr> <chr>         <dbl>             <dbl>
##  1   217 Kabupaten Kotawaring… Samp… Samp… L                18              3.17
##  2   469 Kabupaten Barito Tim… Tami… Tami… P                18              3.76
##  3   315 Kabupaten Kotawaring… Kumai Kuma… P                22              3.86
##  4    98 Kabupaten Kapuas      Anji… Anji… P                23              3.87
##  5   415 Kabupaten Barito Sel… Kara… Kara… P                21              3.16
##  6   276 Kabupaten Kotawaring… Ment… Ment… L                24              2.36
##  7   313 Kabupaten Kotawaring… Pang… Pang… L                21              3.61
##  8   279 Kabupaten Kotawaring… Ment… Ment… L                24              2.44
##  9   677 Kabupaten Pulang Pis… Mali… Mali… L                23              5.48
## 10   724 Kabupaten Seruyan     Hanau Hana… L                27              3.72
## # ℹ 50 more rows
## # ℹ 2 more variables: Pengeluaran_X_juta <dbl>, strata <fct>
N_1=Nh["Anak"]
N_2=Nh["Remaja"]
N_3=Nh["Muda"]
N_4=Nh["Dewasa"]
N_5=Nh["Tua"]
N_total=N_1+N_2+N_3+N_4+N_5
N_total
## Anak 
##  786
#mean stratified
y_1=mean(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Anak"],na.rm=TRUE)
y_2=mean(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Remaja"],na.rm=TRUE)
y_3=mean(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Muda"],na.rm=TRUE)
y_4=mean(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Dewasa"],na.rm=TRUE)
y_5=mean(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Tua"],na.rm=TRUE)
y_st=((N_1*y_1)+(N_2*y_2)+(N_3*y_3)+(N_4*y_4)+(N_5*y_5))/N
cat("rata rata duga adalah",y_st)
## rata rata duga adalah 2.584628
mu=mean(df$Pengeluaran_X_juta)
cat("\nrata rata populasi adalah",mu)
## 
## rata rata populasi adalah 2.519196
#varians
v_1=var(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Anak"],na.rm=TRUE)
v_2=var(sampel_final$Pengeluaran_X_juta[sampel_final$strata=="Remaja"],na.rm=TRUE)
v_3=var(sampel_final$Pendapatan_Y_juta[sampel_final$strata=="Muda"],na.rm=TRUE)
v_4=var(sampel_final$Pendapatan_Y_juta[sampel_final$strata=="Dewasa"],na.rm=TRUE)
v_5=var(sampel_final$Pendapatan_Y_juta[sampel_final$strata=="Tua"],na.rm=TRUE)

n1=nh["Anak"]
n2=nh["Remaja"]
n3=nh["Muda"]
n4=nh["Dewasa"]
n5=nh["Tua"]
n6=nh["Lansia"]

V_1=(1-(n1/N_1))*(v_1/n1)
V_2=(1-(n2/N_2))*(v_2/n2)
V_3=(1-(n3/N_3))*(v_3/n3)
V_4=(1-(n4/N_4))*(v_4/n4)
V_5=(1-(n5/N_5))*(v_5/n5)


varian=((N_1^2*V_1)+(N_2^2*V_2)+(N_3^3*V_3)+(N_4^2*V_4)+(N_5^2*V_5))/(N^2)
cat("\n varian estimasi rata rata",varian)
## 
##  varian estimasi rata rata 0.3923054
bound=2*sqrt(varian)
cat("\nbatas kesalahan",bound)
## 
## batas kesalahan 1.252686
y_b1=y_st+bound
y_b2=y_st-bound
cat("\nbatas atas",y_b1)
## 
## batas atas 3.837314
cat("\nbatas bawah",y_b2)
## 
## batas bawah 1.331943
#cari n pake batas
#cara cari sampel dari batas galat
set.seed(123)
B <- 1.259061/2
D<- (B^2)/4 

p1=((N_1)^2 * (v_1))/ (N_1/N)
p2=((N_2)^2 * (v_2))/ (N_2/N)
p3=((N_3)^2 * (v_3))/ (N_3/N)
p4=((N_4)^2 * (v_4))/ (N_4/N)
p5=((N_5)^2 * (v_5))/ (N_5/N)

pen1= (N_1) * (v_1)
pen2= (N_2) * (v_2)
pen3= (N_3) * (v_3)
pen4= (N_4) * (v_4)
pen5= (N_5) * (v_5)


# Hitung pembilang
pembilang<- p1 + p2 + p3 + p4 + p5 

# Hitung penyebut
penyebut<- ((N^2) * (D)) + (pen1 + pen2 + pen3 +pen4 +pen5)
# Ukuran sampel
n <- (pembilang / penyebut)

cat("\ntotal sampel adalah",n)
## 
## total sampel adalah 3.271557