MODUL 1 MEMUAT DATA

library(wooldridge)
data("alcohol")
head(alcohol)
##   abuse status unemrate age educ married famsize white exhealth vghealth
## 1     1      1      4.0  50    4       1       1     1        0        0
## 2     0      3      4.0  37   12       1       5     1        0        0
## 3     0      3      4.0  53    9       1       3     1        1        0
## 4     0      3      3.3  59   11       1       1     1        1        0
## 5     0      3      3.3  43   10       1       1     1        1        0
## 6     0      3      3.3  38   10       1       1     1        1        0
##   goodhealth fairhealth northeast midwest south centcity outercity qrt1 qrt2
## 1          0          0         0       1     0        0         0    1    0
## 2          1          0         0       1     0        0         0    1    0
## 3          0          0         0       1     0        0         0    1    0
## 4          0          0         1       0     0        1         0    1    0
## 5          0          0         1       0     0        1         0    1    0
## 6          0          0         1       0     0        1         0    1    0
##   qrt3 beertax cigtax ethanol mothalc fathalc livealc inwf employ agesq
## 1    0   0.334     38 2.03946       0       0       0    0      0  2500
## 2    0   0.334     38 2.03946       0       0       0    1      1  1369
## 3    0   0.334     38 2.03946       0       0       0    1      1  2809
## 4    0   0.240     26 2.44998       0       0       0    1      1  3481
## 5    0   0.240     26 2.44998       0       1       1    1      1  1849
## 6    0   0.240     26 2.44998       0       0       0    1      1  1444
##   beertaxsq cigtaxsq ethanolsq educsq
## 1  0.111556     1444  4.159397     16
## 2  0.111556     1444  4.159397    144
## 3  0.111556     1444  4.159397     81
## 4  0.057600      676  6.002402    121
## 5  0.057600      676  6.002402    100
## 6  0.057600      676  6.002402    100

Modul ini memuat data packages “wooldridge” dan menampilkan 6 baris pertama dari data “alcohol” yang mana berguna untuk mengetahui gambaran awal tentang isi data.

MODUL 2 RINGKASAN STATISTIK DASAR

# Menghasilkan ringkasan data untuk dataset 'alcohol'
summary(alcohol)
##      abuse             status         unemrate           age       
##  Min.   :0.00000   Min.   :1.000   Min.   : 2.800   Min.   :25.00  
##  1st Qu.:0.00000   1st Qu.:3.000   1st Qu.: 4.300   1st Qu.:31.00  
##  Median :0.00000   Median :3.000   Median : 5.300   Median :38.00  
##  Mean   :0.09917   Mean   :2.829   Mean   : 5.569   Mean   :39.18  
##  3rd Qu.:0.00000   3rd Qu.:3.000   3rd Qu.: 6.700   3rd Qu.:46.00  
##  Max.   :1.00000   Max.   :3.000   Max.   :10.900   Max.   :59.00  
##       educ          married          famsize           white       
##  Min.   : 0.00   Min.   :0.0000   Min.   : 1.000   Min.   :0.0000  
##  1st Qu.:12.00   1st Qu.:1.0000   1st Qu.: 1.000   1st Qu.:1.0000  
##  Median :13.00   Median :1.0000   Median : 3.000   Median :1.0000  
##  Mean   :13.31   Mean   :0.8164   Mean   : 2.741   Mean   :0.8531  
##  3rd Qu.:16.00   3rd Qu.:1.0000   3rd Qu.: 4.000   3rd Qu.:1.0000  
##  Max.   :19.00   Max.   :1.0000   Max.   :13.000   Max.   :1.0000  
##     exhealth         vghealth        goodhealth       fairhealth     
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.00000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.00000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :0.00000  
##  Mean   :0.4159   Mean   :0.3019   Mean   :0.2053   Mean   :0.05345  
##  3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:0.00000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.00000  
##    northeast        midwest           south           centcity     
##  Min.   :0.000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.000   Median :0.0000   Median :0.0000   Median :0.0000  
##  Mean   :0.203   Mean   :0.2656   Mean   :0.3183   Mean   :0.3332  
##  3rd Qu.:0.000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000  
##  Max.   :1.000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##    outercity           qrt1             qrt2             qrt3       
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :0.0000  
##  Mean   :0.4349   Mean   :0.2546   Mean   :0.2527   Mean   :0.2428  
##  3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:0.0000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##     beertax          cigtax         ethanol         mothalc       
##  Min.   :0.045   Min.   : 2.00   Min.   :1.035   Min.   :0.00000  
##  1st Qu.:0.145   1st Qu.:13.00   1st Qu.:1.798   1st Qu.:0.00000  
##  Median :0.259   Median :20.00   Median :2.016   Median :0.00000  
##  Mean   :0.426   Mean   :17.96   Mean   :2.036   Mean   :0.04042  
##  3rd Qu.:0.446   3rd Qu.:23.00   3rd Qu.:2.390   3rd Qu.:0.00000  
##  Max.   :2.370   Max.   :38.00   Max.   :4.017   Max.   :1.00000  
##     fathalc          livealc            inwf            employ      
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:1.0000   1st Qu.:1.0000  
##  Median :0.0000   Median :0.0000   Median :1.0000   Median :1.0000  
##  Mean   :0.1543   Mean   :0.1881   Mean   :0.9304   Mean   :0.8982  
##  3rd Qu.:0.0000   3rd Qu.:0.0000   3rd Qu.:1.0000   3rd Qu.:1.0000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##      agesq        beertaxsq           cigtaxsq        ethanolsq     
##  Min.   : 625   Min.   :0.002025   Min.   :   4.0   Min.   : 1.071  
##  1st Qu.: 961   1st Qu.:0.021025   1st Qu.: 169.0   1st Qu.: 3.231  
##  Median :1444   Median :0.067081   Median : 400.0   Median : 4.062  
##  Mean   :1628   Mean   :0.378427   Mean   : 375.3   Mean   : 4.286  
##  3rd Qu.:2116   3rd Qu.:0.198916   3rd Qu.: 529.0   3rd Qu.: 5.714  
##  Max.   :3481   Max.   :5.616899   Max.   :1444.0   Max.   :16.134  
##      educsq     
##  Min.   :  0.0  
##  1st Qu.:144.0  
##  Median :169.0  
##  Mean   :185.5  
##  3rd Qu.:256.0  
##  Max.   :361.0

Modul mengenai Fungsi summary ini memberikan ringkasan statistik dasar untuk setiap variabel dalam dataset alcohol seperti nilai minimum, maksimum, rata-rata (mean), median, kuartil (Q1 dan Q3).

MODUL 3 BARPLOT

# Membuat barplot untuk variabel 'famsize'
barplot(table(alcohol$famsize), main = "Barplot of Family Size", xlab = "Family Size", ylab = "Frequency", col = "blue")

Modul ini membuat barplot untuk variabel famsize menggunakan fungsi table untuk menghitung frekuensi kategori dan fungsi barplot untuk memvisualisasikannya, barplot ini menampilkan jumlah kejadian untuk setiap ukuran keluarga

MODUL 4 DISTRIBUSI FREKUENSI

# Membuat histogram untuk variabel numerik tertentu, contohnya age
hist(alcohol$age, main = "Histogram of Age", xlab = "Age", ylab = "Frequency", col = "blue")

Modul ini membuat histogram dari variabel “age” dalam dataset alcohol, menunjukkan distribusi frekuensi nilai-nilai variabel tersebut.

MODUL 5 DISTRIBUSI NORMAL

# Memeriksa ukuran sampel untuk variabel yang besar
sample_size <- length(na.omit(alcohol$unemrate))

# Jika ukuran sampel lebih dari 5000, ambil subset acak
if (sample_size > 5000) {
  set.seed(123)  # Untuk reproducibility
  sample_indices <- sample(seq_len(sample_size), size = 5000)
  subset_data <- alcohol$unemrate[sample_indices]
} else {
  subset_data <- na.omit(alcohol$unemrate)
}

Karena variabel unemrate memiliki lebih dari 5000 yang mana tidak sesuai dengan syarat uji shapiro maka dengan fungsi diatas dapat diambil maximal 5000 sample acak.

# Membuat histogram dengan distribusi normal untuk variabel unemrate

hist(subset_data, prob = TRUE, main = "Histogram of Unemployment Rate with Normal Distribution", xlab = "Unemployment Rate")
lines(density(subset_data, na.rm = TRUE), col = "blue")
curve(dnorm(x, mean = mean(subset_data, na.rm = TRUE), sd = sd(subset_data, na.rm = TRUE)), add = TRUE, col = "red")

# Uji normalitas Shapiro-Wilk pada subset data
shapiro.test(subset_data)
## 
##  Shapiro-Wilk normality test
## 
## data:  subset_data
## W = 0.93916, p-value < 2.2e-16

Modul ini menggambarkan distribusi normal dari variabel unemrate dalam dataset alcohol. Kurva distribusi normal ditambahkan menggunakan fungsi curve yang menampilkan distribusi normal berdasarkan mean dan standar deviasi dari unemrate. Uji normalitas dilakukan dengan fungsi shapiro.test, yang memeriksa apakah distribusi data unemrate mendekati distribusi normal.

MODUL 6 ESTIMASI

# Menghitung rata-rata dan deviasi standar dari variabel age
mean_age <- mean(alcohol$age, na.rm = TRUE)
sd_age <- sd(alcohol$age, na.rm = TRUE)

# Interval kepercayaan untuk mean age
t.test(alcohol$age)$conf.int
## [1] 38.98511 39.36635
## attr(,"conf.level")
## [1] 0.95

Modul ini menghitung rata-rata dan deviasi standar dari variabel age serta interval kepercayaan 95% untuk rata-rata tersebut. Ini memberikan informasi tentang nilai rata-rata age, sebaran data, dan rentang di mana rata-rata populasi kemungkinan berada.

MODUL 7 HIPOTESIS

# Uji hipotesis: apakah mean dari variabel age berbeda secara signifikan dari 30?
t.test(alcohol$age, mu = 30)
## 
##  One Sample t-test
## 
## data:  alcohol$age
## t = 94.356, df = 9821, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 30
## 95 percent confidence interval:
##  38.98511 39.36635
## sample estimates:
## mean of x 
##  39.17573

Modul ini menguji hipotesis apakah rata-rata variabel “age” berbeda secara signifikan dari 30. Jika p-value lebih kecil dari 0.05, kita menolak hipotesis nol dan menyimpulkan bahwa rata-rata age berbeda secara signifikan dari 30. Interval kepercayaan menunjukkan rentang nilai di mana kita yakin bahwa rata-rata populasi berada.

MODUL 8 ANALISIS VARIANS

# Load dataset
library(wooldridge)
data("alcohol")

# Membuat model ANOVA untuk variabel 'famsize' terhadap 'ethanol'
anova_result <- aov(ethanol ~ famsize, data = alcohol)
summary(anova_result)
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## famsize        1    5.2   5.159   36.49 1.59e-09 ***
## Residuals   9820 1388.3   0.141                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Modul ini melakukan analisis varians (ANOVA) untuk mengevaluasi pengaruh ukuran keluarga (famsize) terhadap konsumsi etanol (ethanol) dalam dataset alcohol. Jika p-value lebih kecil dari 0.05, kita menolak hipotesis nol dan menyimpulkan bahwa ada perbedaan signifikan dalam konsumsi etanol berdasarkan ukuran keluarga.

MODUL 9 REGRESI

# Membuat model regresi linear sederhana memprediksi 'ethanolsq' berdasarkan 'age'
lm_model <- lm(ethanolsq ~ age, data = alcohol)

# Menampilkan ringkasan model regresi
summary(lm_model)
## 
## Call:
## lm(formula = ethanolsq ~ age, data = alcohol)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2337 -1.0576 -0.2266  1.4204 11.8738 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.336542   0.071961  60.262   <2e-16 ***
## age         -0.001288   0.001784  -0.722     0.47    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.704 on 9820 degrees of freedom
## Multiple R-squared:  5.311e-05,  Adjusted R-squared:  -4.872e-05 
## F-statistic: 0.5216 on 1 and 9820 DF,  p-value: 0.4702

Modul ini membuat model regresi linear untuk memprediksi ethanolsq berdasarkan age. Koefisien regresi menunjukkan perubahan rata-rata dalam ethanolsq untuk setiap unit peningkatan dalam age. R-squared mengukur proporsi variabilitas dalam ethanolsq yang dapat dijelaskan oleh age. P-value untuk koefisien regresi menunjukkan signifikansi statistik hubungan antara age dan ethanolsq, dengan p-value yang rendah mengindikasikan hubungan yang signifikan secara statistik.

MODUL 10 PERAMALAN

model_forecast <- lm(ethanolsq ~ age, data = alcohol)

# Membuat prediksi untuk tahun 2024 dan 2025
future_years <- data.frame(age = c(2024, 2025))  # Gantilah dengan variabel yang sesuai jika 'age' tidak relevan
forecast <- predict(model_forecast, newdata = future_years)
forecast
##        1        2 
## 1.729270 1.727982

Modul ini membuat model regresi linear untuk memprediksi ethanolsq berdasarkan age. Dengan model ini, kita dapat memprediksi nilai ethanolsq untuk tahun 2024 dan 2025 menggunakan fungsi predict. Hasil forecast memberikan estimasi nilai ethanolsq di masa depan berdasarkan model regresi yang dibangun.