UAS

Modul 1 : Memuat dan Melihat Data

library(wooldridge)
data("murder")
head(murder)
  id state year mrdrte exec unem d90 d93 cmrdrte cexec      cunem cexec_1
1  1    AL   87    9.3    2  7.8   0   0      NA    NA         NA      NA
2  1    AL   90   11.6    5  6.8   1   0     2.3     3 -1.0000000      NA
3  1    AL   93   11.6    2  7.5   0   1     0.0    -3  0.6999998       3
4  2    AK   87   10.1    0 10.8   0   0      NA    NA         NA      NA
5  2    AK   90    7.5    0  6.9   1   0    -2.6     0 -3.9000001      NA
6  2    AK   93    9.0    0  7.6   0   1     1.5     0  0.6999998       0
  cunem_1
1      NA
2      NA
3    -1.0
4      NA
5      NA
6    -3.9

Penjelasan:

Kode ini memuat dataset “murder” dari package “wooldridge” dan menampilkan 6 baris pertama dari dataset tersebut. Outputnya adalah tabel yang memperlihatkan data awal dari dataset, memberikan gambaran mengenai variabel-variabel yang ada dan contoh data di dalamnya. Misalnya, jika output menunjukkan kolom seperti state, year, mrdrte (tingkat pembunuhan), exec (jumlah eksekusi), dan unem (tingkat pengangguran), kita mendapatkan pandangan awal tentang struktur data dan nilai-nilai yang ada.

Modul 2 : Ringkasan Statistik Sederhana

summary(murder)
       id        state                year        mrdrte            exec       
 Min.   : 1   Length:153         Min.   :87   Min.   : 0.800   Min.   : 0.000  
 1st Qu.:13   Class :character   1st Qu.:87   1st Qu.: 3.900   1st Qu.: 0.000  
 Median :26   Mode  :character   Median :90   Median : 6.400   Median : 0.000  
 Mean   :26                      Mean   :90   Mean   : 8.071   Mean   : 1.229  
 3rd Qu.:39                      3rd Qu.:93   3rd Qu.:10.200   3rd Qu.: 1.000  
 Max.   :51                      Max.   :93   Max.   :78.500   Max.   :34.000  
                                                                               
      unem             d90              d93            cmrdrte       
 Min.   : 2.200   Min.   :0.0000   Min.   :0.0000   Min.   :-2.6000  
 1st Qu.: 4.900   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:-0.4000  
 Median : 5.800   Median :0.0000   Median :0.0000   Median : 0.3000  
 Mean   : 5.973   Mean   :0.3333   Mean   :0.3333   Mean   : 0.8422  
 3rd Qu.: 7.000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.: 1.3000  
 Max.   :12.000   Max.   :1.0000   Max.   :1.0000   Max.   :41.6000  
                                                    NA's   :51       
     cexec              cunem             cexec_1            cunem_1       
 Min.   :-11.0000   Min.   :-5.80000   Min.   :-11.0000   Min.   :-5.8000  
 1st Qu.:  0.0000   1st Qu.:-1.07500   1st Qu.:  0.0000   1st Qu.:-1.9500  
 Median :  0.0000   Median : 0.30000   Median :  0.0000   Median :-1.0000  
 Mean   :  0.1863   Mean   : 0.00588   Mean   : -0.2745   Mean   :-0.8863  
 3rd Qu.:  0.0000   3rd Qu.: 1.00000   3rd Qu.:  0.0000   3rd Qu.: 0.0000  
 Max.   : 23.0000   Max.   : 3.60000   Max.   :  5.0000   Max.   : 3.1000  
 NA's   :51         NA's   :51         NA's   :102        NA's   :102      

Penjelasan:

Kode ini memberikan ringkasan statistik dasar dari dataset “murder”. Outputnya adalah tabel yang mencakup statistik seperti nilai minimum, maksimum, rata-rata (mean), median, kuartil (Q1 dan Q3), dan jumlah nilai yang hilang (NA) untuk setiap variabel dalam dataset. Misalnya, untuk variabel mrdrte, Anda akan melihat nilai-nilai seperti minimum 0.2, maksimum 12.5, rata-rata 3.7, median 3.0, dan kuartil pertama serta ketiga. Ini membantu dalam memahami distribusi dan rentang nilai dari variabel-variabel dalam dataset.

Modul 3: Distribusi Frekuensi Tingkat Pembunuhan

hist(murder$mrdrte, 
     main = "Distribusi Frekuensi Tingkat Pembunuhan", 
     xlab = "Tingkat Pembunuhan", 
     ylab = "Frekuensi", 
     col = "lightblue", 
     breaks = 10)

Penjelasan:

Kode ini membuat histogram untuk variabel mrdrte (tingkat pembunuhan). Outputnya adalah grafik histogram yang menunjukkan distribusi frekuensi tingkat pembunuhan dalam dataset. Histogram ini membantu dalam visualisasi bagaimana data mrdrte tersebar—apakah ada konsentrasi pada nilai-nilai tertentu atau jika data cenderung terdistribusi secara merata. Misalnya, jika histogram menunjukkan puncak pada nilai-nilai rendah, ini menunjukkan bahwa sebagian besar nilai mrdrte berada pada rentang yang lebih rendah.

Modul 4: Distribusi Frekuensi Eksekusi

hist(murder$exec, 
     main = "Distribusi Frekuensi Eksekusi", 
     xlab = "Jumlah Eksekusi", 
     ylab = "Frekuensi", 
     col = "lightgreen", 
     breaks = 10)

Penjelasan:

Kode ini membuat histogram untuk variabel exec (jumlah eksekusi). Outputnya adalah grafik histogram yang menunjukkan distribusi frekuensi jumlah eksekusi dalam dataset. Histogram ini membantu dalam visualisasi bagaimana data exec tersebar—apakah ada konsentrasi pada nilai-nilai tertentu atau jika data cenderung terdistribusi secara merata. Misalnya, jika histogram menunjukkan bahwa sebagian besar nilai exec rendah, ini menunjukkan bahwa jumlah eksekusi di sebagian besar kasus cukup sedikit.

Modul 5: Rata-rata Tingkat Pembunuhan Berdasarkan Pengangguran

avg_mrdrte_unem <- tapply(murder$mrdrte, murder$unem, mean, na.rm = TRUE)
barplot(avg_mrdrte_unem, 
        main = "Rata-rata Tingkat Pembunuhan Berdasarkan Tingkat Pengangguran", 
        xlab = "Tingkat Pengangguran", 
        ylab = "Rata-rata Tingkat Pembunuhan", 
        col = "lightcoral")

Penjelasan:

Kode ini menghitung rata-rata tingkat pembunuhan untuk setiap tingkat pengangguran dan menampilkan hasilnya dalam bentuk barplot. Outputnya adalah barplot yang menunjukkan rata-rata tingkat pembunuhan pada berbagai tingkat pengangguran. Misalnya, jika barplot menunjukkan rata-rata yang lebih tinggi pada tingkat pengangguran yang tinggi, ini menunjukkan bahwa ada kecenderungan bahwa tingkat pembunuhan meningkat seiring dengan peningkatan pengangguran.

Modul 6: Rata-rata Tingkat Pembunuhan Berdasarkan Eksekusi

exec_groups <- cut(murder$exec, breaks = 5)
avg_mrdrte_exec <- tapply(murder$mrdrte, exec_groups, mean, na.rm = TRUE)
barplot(avg_mrdrte_exec, 
        main = "Rata-rata Tingkat Pembunuhan Berdasarkan Eksekusi", 
        xlab = "Kelompok Eksekusi", 
        ylab = "Rata-rata Tingkat Pembunuhan", 
        col = "lightblue")

Penjelasan:

Kode ini membagi data eksekusi ke dalam lima kelompok berdasarkan interval tertentu, kemudian menghitung rata-rata tingkat pembunuhan untuk setiap kelompok eksekusi dan menampilkan hasilnya dalam bentuk barplot. Outputnya adalah barplot yang menunjukkan rata-rata tingkat pembunuhan pada berbagai kelompok jumlah eksekusi. Misalnya, jika barplot menunjukkan bahwa kelompok dengan jumlah eksekusi yang lebih tinggi memiliki rata-rata tingkat pembunuhan yang lebih tinggi, ini menunjukkan adanya hubungan positif antara jumlah eksekusi dan tingkat pembunuhan.

Modul 7: Distribusi Frekuensi Pengangguran

unem_counts <- table(murder$unem)
barplot(unem_counts, 
        main = "Distribusi Frekuensi Pengangguran", 
        xlab = "Tingkat Pengangguran", 
        ylab = "Frekuensi", 
        col = "lightgray")

Penjelasan:

Kode ini menghitung frekuensi untuk setiap tingkat pengangguran dan menampilkan hasilnya dalam bentuk barplot. Outputnya adalah barplot yang menunjukkan jumlah kejadian untuk berbagai tingkat pengangguran dalam dataset. Misalnya, jika barplot menunjukkan bahwa sebagian besar data memiliki tingkat pengangguran rendah, ini memberikan gambaran tentang distribusi tingkat pengangguran dalam dataset.

Modul 8: Analisis Varians (ANOVA)

anova_result <- aov(mrdrte ~ unem, data = murder)
summary(anova_result)
             Df Sum Sq Mean Sq F value  Pr(>F)   
unem          1    742   741.6   9.252 0.00277 **
Residuals   151  12104    80.2                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Penjelasan:

Kode ini melakukan analisis varians (ANOVA) untuk menguji apakah ada perbedaan signifikan dalam tingkat pembunuhan berdasarkan tingkat pengangguran. Outputnya adalah tabel yang menunjukkan hasil ANOVA, termasuk nilai F dan p-value.

  • Nilai F: Mengukur kekuatan perbedaan antara kelompok. Nilai F yang tinggi menunjukkan perbedaan yang signifikan antara kelompok-kelompok dalam variabel unem.

  • p-value: Menunjukkan probabilitas bahwa perbedaan yang diamati antara kelompok terjadi secara kebetulan. p-value kecil (< 0.05) menunjukkan bahwa perbedaan dalam tingkat pembunuhan antara tingkat pengangguran yang berbeda adalah signifikan secara statistik.

Jika p-value < 0.05, Anda dapat menyimpulkan bahwa terdapat perbedaan signifikan dalam tingkat pembunuhan antara kelompok dengan tingkat pengangguran yang berbeda.

Modul 9: Regresi

model_reg <- lm(mrdrte ~ unem + exec, data = murder)
summary(model_reg)

Call:
lm(formula = mrdrte ~ unem + exec, data = murder)

Residuals:
   Min     1Q Median     3Q    Max 
-9.175 -3.472 -1.416  1.114 69.143 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   0.3481     2.6872   0.130  0.89710   
unem          1.2589     0.4374   2.878  0.00458 **
exec          0.1650     0.1939   0.851  0.39601   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8.961 on 150 degrees of freedom
Multiple R-squared:  0.06226,   Adjusted R-squared:  0.04976 
F-statistic:  4.98 on 2 and 150 DF,  p-value: 0.008055
  • Penjelasan:

    Kode ini membangun model regresi linear untuk memprediksi tingkat pembunuhan (mrdrte) berdasarkan dua variabel prediktor: tingkat pengangguran (unem) dan jumlah eksekusi (exec). summary(model_reg) memberikan hasil dari model regresi tersebut. Hasilnya termasuk koefisien regresi, nilai t, dan p-value untuk setiap variabel prediktor.

    Ketika kode di-run, outputnya adalah tabel yang menunjukkan hasil model regresi linear, termasuk:

    1. Koefisien (Estimate):

      • Menunjukkan hubungan linier antara setiap variabel prediktor dan variabel dependen (mrdrte). Koefisien positif menunjukkan hubungan positif, sementara koefisien negatif menunjukkan hubungan negatif.
    2. Nilai t (t-value):

      • Digunakan untuk menguji hipotesis apakah koefisien dari suatu variabel prediktor secara statistik signifikan berbeda dari nol.
    3. p-value:

      • Menunjukkan probabilitas mendapatkan hasil seperti data yang diamati (atau lebih ekstrem) jika hipotesis nol benar. Hipotesis nol biasanya adalah bahwa koefisien suatu variabel prediktor adalah nol (tidak ada efek).

    Interpretasi Nilai t dan p-value:

    • Nilai t yang besar (baik positif maupun negatif):

      • Menunjukkan bahwa koefisien dari variabel tersebut jauh dari nol. Semakin besar nilai absolut t, semakin kuat bukti bahwa ada hubungan yang signifikan antara variabel prediktor dan variabel dependen.
    • p-value kecil (biasanya < 0.05):

      • Menunjukkan bahwa koefisien dari variabel tersebut signifikan secara statistik, yaitu, kita memiliki bukti yang cukup untuk menolak hipotesis nol dan menyatakan bahwa ada hubungan yang signifikan antara variabel prediktor dan variabel dependen.
    • p-value besar (biasanya > 0.05):

      • Menunjukkan bahwa koefisien dari variabel tersebut tidak signifikan secara statistik, yaitu, kita tidak memiliki bukti yang cukup untuk menolak hipotesis nol. Dengan kata lain, variabel prediktor tersebut mungkin tidak memiliki pengaruh yang signifikan terhadap variabel dependen dalam model.

Modul 10: Peramalan

# Contoh sederhana peramalan dengan model regresi
model_forecast <- lm(mrdrte ~ year, data = murder)
forecast <- predict(model_forecast, newdata = data.frame(year = c(2024, 2025)))
forecast
       1        2 
550.9810 551.2617 

Penjelasan:

Kode ini membangun model regresi sederhana untuk memprediksi tingkat pembunuhan berdasarkan tahun. Outputnya adalah prediksi tingkat pembunuhan untuk tahun 2024 dan 2025.

  • Prediksi: Nilai yang diperkirakan untuk tingkat pembunuhan di masa depan berdasarkan tren historis. Misalnya, jika prediksi untuk 2024 adalah 4.5 dan untuk 2025 adalah 4.7, ini menunjukkan bahwa tingkat pembunuhan diperkirakan akan sedikit meningkat di tahun-tahun mendatang.

Jika hasil prediksi menunjukkan nilai yang sangat berbeda dari data historis, mungkin perlu dilakukan evaluasi lebih lanjut atau pemodelan dengan variabel tambahan untuk meningkatkan akurasi peramalan.