Cara membuat variabel dummy di r (langkah demi langkah)
Variabel dummy adalah jenis variabel yang kita buat dalam analisis regresi sehingga kita dapat merepresentasikan variabel kategori sebagai variabel numerik yang mengambil salah satu dari dua nilai: nol atau satu.
Misalnya, kita mempunyai kumpulan data berikut dan ingin menggunakan usia dan status perkawinan untuk memprediksi pendapatan :
Untuk menggunakan status perkawinan sebagai variabel prediktor dalam model regresi, kita perlu mengubahnya menjadi variabel dummy.
Karena ini saat ini merupakan variabel kategori yang dapat mengambil tiga nilai berbeda (“Lajang”, “Menikah”, atau “Bercerai”), kita perlu membuat k -1 = 3-1 = 2 variabel tiruan.
Untuk membuat variabel dummy ini, kita dapat membiarkan “Tunggal” sebagai nilai dasar karena variabel ini paling sering muncul. Jadi, inilah cara kami mengubah status perkawinan menjadi variabel dummy:
Tutorial ini memberikan contoh langkah demi langkah tentang cara membuat variabel dummy untuk kumpulan data persis ini di R dan kemudian melakukan analisis regresi menggunakan variabel dummy tersebut sebagai prediktor.
Langkah 1: Buat datanya
Pertama, mari buat dataset di R:
#create data frame df <- data. frame (income=c(45000, 48000, 54000, 57000, 65000, 69000, 78000, 83000, 98000, 104000, 107000), age=c(23, 25, 24, 29, 38, 36, 40, 59, 56, 64, 53), status=c('Single', 'Single', 'Single', 'Single', 'Married', 'Single', 'Married', 'Divorced', 'Divorced', 'Married', 'Married')) #view data frame df income age status 1 45000 23 Single 2 48000 25 Single 3 54000 24 Single 4 57000 29 Single 5 65000 38 Married 6 69000 36 Single 7 78000 40 Married 8 83000 59 Divorced 9 98000 56 Divorced 10 104000 64 Married 11 107000 53 Married
Langkah 2: Buat Variabel Dummy
Selanjutnya, kita bisa menggunakan fungsi ifelse() di R untuk mendefinisikan variabel dummy dan kemudian menentukan kerangka data akhir yang ingin kita gunakan untuk membangun model regresi:
#create dummy variables married <- ifelse (df$status == ' Married ', 1, 0) divorced <- ifelse (df$status == ' Divorced ', 1, 0) #create data frame to use for regression df_reg <- data. frame (income = df$income, age = df$age, married = married, divorced = divorced) #view data frame df_reg income age married divorced 1 45000 23 0 0 2 48000 25 0 0 3 54000 24 0 0 4 57000 29 0 0 5 65000 38 1 0 6 69000 36 0 0 7 78000 40 1 0 8 83000 59 0 1 9 98000 56 0 1 10 104000 64 1 0 11 107000 53 1 0
Langkah 3: Lakukan Regresi Linier
Terakhir, kita dapat menggunakan fungsi lm() untuk menyesuaikan model regresi linier berganda:
#create regression model model <- lm (income ~ age + married + divorced, data=df_reg) #view regression model output summary(model) Call: lm(formula = income ~ age + married + divorced, data = df_reg) Residuals: Min 1Q Median 3Q Max -9707.5 -5033.8 45.3 3390.4 12245.4 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 14276.1 10411.5 1.371 0.21266 age 1471.7 354.4 4.152 0.00428 ** married 2479.7 9431.3 0.263 0.80018 divorced -8397.4 12771.4 -0.658 0.53187 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 8391 on 7 degrees of freedom Multiple R-squared: 0.9008, Adjusted R-squared: 0.8584 F-statistic: 21.2 on 3 and 7 DF, p-value: 0.0006865
Garis regresi yang dipasang ternyata adalah:
Pendapatan = 14,276.1 + 1,471.7*(umur) + 2,479.7*(menikah) – 8,397.4*(bercerai)
Kita dapat menggunakan persamaan ini untuk mengetahui perkiraan pendapatan seseorang berdasarkan usia dan status perkawinannya. Misalnya, seseorang yang berusia 35 tahun dan menikah akan memiliki perkiraan pendapatan sebesar $68,264 :
Pendapatan = 14,276.2 + 1,471.7*(35) + 2,479.7*(1) – 8,397.4*(0) = $68,264
Berikut cara menginterpretasikan koefisien regresi pada tabel:
- Intersep: Intersep mewakili pendapatan rata-rata satu orang berusia nol tahun. Tentu saja Anda tidak bisa mempunyai tahun nol, jadi tidak masuk akal untuk menafsirkan intersep itu sendiri dalam model regresi khusus ini.
- Usia: Setiap peningkatan usia setiap tahun dikaitkan dengan peningkatan pendapatan rata-rata sebesar $1,471,70. Karena nilai p (0,004) kurang dari 0,05, usia merupakan prediktor pendapatan yang signifikan secara statistik.
- Menikah: Orang yang menikah berpenghasilan rata-rata $2,479,70 lebih banyak daripada satu orang. Karena nilai p (0,800) tidak kurang dari 0,05, perbedaan ini tidak signifikan secara statistik.
- Bercerai: Orang yang bercerai berpenghasilan rata-rata $8,397.40 lebih sedikit dari satu orang. Karena nilai p (0,532) tidak kurang dari 0,05, perbedaan ini tidak signifikan secara statistik.
Karena kedua variabel dummy tersebut tidak signifikan secara statistik, kami dapat menghapus status perkawinan sebagai prediktor dari model, karena hal ini tampaknya tidak menambah nilai prediktif terhadap pendapatan.