Eksplorasi data adalah proses awal dalam analisis data yang melibatkan pemeriksaan dan visualisasi dataset untuk memahami struktur, pola, dan karakteristiknya sebelum melakukan analisis lebih lanjut. Tujuan utamanya adalah mengidentifikasi distribusi, hubungan, dan potensi anomali dalam data.
Packeges Wooldridge : Datasets Wage1
Pemusatan Data
library(wooldridge)library(ggplot2)library(dplyr)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
wage educ exper tenure
Min. : 0.530 Min. : 0.00 Min. : 1.00 Min. : 0.000
1st Qu.: 3.330 1st Qu.:12.00 1st Qu.: 5.00 1st Qu.: 0.000
Median : 4.650 Median :12.00 Median :13.50 Median : 2.000
Mean : 5.896 Mean :12.56 Mean :17.02 Mean : 5.105
3rd Qu.: 6.880 3rd Qu.:14.00 3rd Qu.:26.00 3rd Qu.: 7.000
Max. :24.980 Max. :18.00 Max. :51.00 Max. :44.000
nonwhite female married numdep
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.000
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.000
Median :0.0000 Median :0.0000 Median :1.0000 Median :1.000
Mean :0.1027 Mean :0.4791 Mean :0.6084 Mean :1.044
3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:2.000
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :6.000
smsa northcen south west
Min. :0.0000 Min. :0.000 Min. :0.0000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:0.000 1st Qu.:0.0000 1st Qu.:0.0000
Median :1.0000 Median :0.000 Median :0.0000 Median :0.0000
Mean :0.7224 Mean :0.251 Mean :0.3555 Mean :0.1692
3rd Qu.:1.0000 3rd Qu.:0.750 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.000 Max. :1.0000 Max. :1.0000
construc ndurman trcommpu trade
Min. :0.00000 Min. :0.0000 Min. :0.00000 Min. :0.0000
1st Qu.:0.00000 1st Qu.:0.0000 1st Qu.:0.00000 1st Qu.:0.0000
Median :0.00000 Median :0.0000 Median :0.00000 Median :0.0000
Mean :0.04563 Mean :0.1141 Mean :0.04373 Mean :0.2871
3rd Qu.:0.00000 3rd Qu.:0.0000 3rd Qu.:0.00000 3rd Qu.:1.0000
Max. :1.00000 Max. :1.0000 Max. :1.00000 Max. :1.0000
services profserv profocc clerocc
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.1008 Mean :0.2586 Mean :0.3669 Mean :0.1673
3rd Qu.:0.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
servocc lwage expersq tenursq
Min. :0.0000 Min. :-0.6349 Min. : 1.0 Min. : 0.00
1st Qu.:0.0000 1st Qu.: 1.2030 1st Qu.: 25.0 1st Qu.: 0.00
Median :0.0000 Median : 1.5369 Median : 182.5 Median : 4.00
Mean :0.1407 Mean : 1.6233 Mean : 473.4 Mean : 78.15
3rd Qu.:0.0000 3rd Qu.: 1.9286 3rd Qu.: 676.0 3rd Qu.: 49.00
Max. :1.0000 Max. : 3.2181 Max. :2601.0 Max. :1936.00
Data Upah pada Wage1
ggplot(wage1, aes(x = wage)) +geom_histogram(binwidth =1, fill ="blue", color ="black") +labs(title ="Distribusi Upah", x ="Upah", y ="Frekuensi")
Data ini berisi informasi mengenai upah pekerja beserta variabel-variabel lainnya. Pada sumbu x menunjukkan upah dan sumbu y menunjukkan frekuensinya.
Perbandingan upah berdasarkan gender :
ggplot(wage1, aes(x =factor(female, labels =c("Male", "Female")), y = wage)) +geom_boxplot(fill =c("lightblue", "pink")) +labs(title ="Perbandingan Upah Berdasarkan Gender", x ="Gender", y ="Upah")
Perbandingan rata-rata upah antara pekerja laki-laki dan perempuan menunjukkan perbedaan yang signifikan. Biasanya, rata-rata upah pekerja laki-laki lebih tinggi dibandingkan pekerja perempuan.
Perbandingan upah dengan pendidikan yang dimiliki :
ggplot(wage1, aes(x =factor(educ), y = wage)) +geom_boxplot(fill ="lightgreen") +labs(title ="Perbandingan Upah Berdasarkan Pendidikan", x ="Tingkat Pendidikan (Tahun)", y ="Upah")
Rata-rata upah meningkat seiring dengan meningkatnya tingkat pendidikan. Pekerja dengan pendidikan yang lebih tinggi cenderung mendapatkan upah yang lebih tinggi.
Hubungan pengalaman dengan upah :
ggplot(wage1, aes(x = exper, y = wage)) +geom_point(color ="blue") +labs(title ="Hubungan antara Pengalaman dan Upah", x ="Pengalaman (Tahun)", y ="Upah")
Terdapat korelasi positif antara pengalaman kerja dan upah. Pekerja dengan pengalaman 20-30 tahun cenderung mendapatkan upah yang lebih tinggi.
Menghitung rata-rata upah berdasarkan gender :
average_wage_gender <-aggregate(wage ~ female, data = wage1, FUN = mean)colnames(average_wage_gender) <-c("Gender", "Average_Wage")average_wage_gender$Gender <-factor(average_wage_gender$Gender, labels =c("Male", "Female"))print(average_wage_gender)
Gender Average_Wage
1 Male 7.099489
2 Female 4.587659
ggplot(average_wage_gender, aes(x = Gender, y = Average_Wage)) +geom_bar(stat ="identity", fill =c("lightblue", "pink")) +labs(title ="Rata-rata Upah Berdasarkan Gender", x ="Gender", y ="Rata-rata Upah")
Dari data diatas menunjukkan bahwa rata-rata upah laki-laki lebih tinggi dibandingkan perempuan.
Menghitung rata-rata upah berdasarkan pendidikan :
average_wage_education <-aggregate(wage ~ educ, data = wage1, FUN = mean)colnames(average_wage_education) <-c("Education_Years", "Average_Wage")print(average_wage_education)
ggplot(average_wage_education, aes(x =factor(Education_Years), y = Average_Wage)) +geom_bar(stat ="identity", fill ="lightgreen") +labs(title ="Rata-rata Upah Berdasarkan Pendidikan", x ="Tingkat Pendidikan (Tahun)", y ="Rata-rata Upah")
Rata-rata upah meningkat dengan semakin tinggi tingkat pendidikan. Rata-rata upah tertinggi dimiliki oleh yang memiliki tingkat pendidikan selama 17 tahun.
Menghitung Distribusi Normal dengan Uji Shapiro-Wilk untuk menguji normalitas
ggplot(wage1, aes(x = wage)) +geom_histogram(aes(y = ..density..), binwidth =1, fill ="blue", color ="black") +stat_function(fun = dnorm, args =list(mean =mean(wage1$wage, na.rm =TRUE), sd =sd(wage1$wage, na.rm =TRUE)), color ="red", size =1) +labs(title ="Distribusi Upah dengan Kurva Normal", x ="Upah", y ="Density")
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
ℹ Please use `after_stat(density)` instead.
Hasil data menunjukkan bahwa 85% rata-rata upah sebenarnya dari populasi berada di antara 5.579768 dan 6.212437. Interval kepercayaan ini memberikan rentang nilai yang mungkin untuk rata-rata upah sebenarnya, menunjukkan tingkat ketidakpastian dalam estimasi kita.
Analisis varians pada data wage1 :
anova_result <-aov(wage ~factor(educ), data = wage1)summary(anova_result)
Df Sum Sq Mean Sq F value Pr(>F)
factor(educ) 17 1604 94.33 8.623 <2e-16 ***
Residuals 508 5557 10.94
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ggplot(wage1, aes(x =factor(educ), y = wage)) +geom_boxplot(fill ="lightgreen") +labs(title ="Perbandingan Upah Berdasarkan Pendidikan", x ="Tingkat Pendidikan (Tahun)", y ="Upah")
ANOVA menunjukkan apakah terdapat perbedaan yang signifikan dalam rata-rata upah antara kelompok-kelompok yang berbeda.
Regresi Linear untuk memodelkan hubungan antara upah dengan variabel pendidikan, pengalaman, tenure, dan gender :
model <-lm(wage ~ educ + exper + tenure + female, data = wage1)summary(model)
Call:
lm(formula = wage ~ educ + exper + tenure + female, data = wage1)
Residuals:
Min 1Q Median 3Q Max
-7.7675 -1.8080 -0.4229 1.0467 14.0075
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.56794 0.72455 -2.164 0.0309 *
educ 0.57150 0.04934 11.584 < 2e-16 ***
exper 0.02540 0.01157 2.195 0.0286 *
tenure 0.14101 0.02116 6.663 6.83e-11 ***
female -1.81085 0.26483 -6.838 2.26e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.958 on 521 degrees of freedom
Multiple R-squared: 0.3635, Adjusted R-squared: 0.3587
F-statistic: 74.4 on 4 and 521 DF, p-value: < 2.2e-16
ggplot(wage1, aes(x = educ, y = wage)) +geom_point(color ="blue") +geom_smooth(method ="lm", color ="red") +labs(title ="Regresi Upah terhadap Pendidikan", x ="Tingkat Pendidikan (Tahun)", y ="Upah")
`geom_smooth()` using formula = 'y ~ x'
Koefisien regresi menunjukkan seberapa besar pengaruh pendidikan terhadap upah. Nilai p menunjukkan signifikansi pengaruh tersebut.
Prediksi Upah untuk beberapa data baru dan menambahkannya ke data frame new_data
ggplot(new_data, aes(x =factor(educ), y = predicted_wage)) +geom_point(color ="green", size =4) +labs(title ="Prediksi Upah Berdasarkan Pendidikan", x ="Tingkat Pendidikan (Tahun)", y ="Prediksi Upah")
Model regresi digunakan untuk memprediksi upah berdasarkan variabel-variabel tersebut.