Tugas Praktikum 4

# Load library yang diperlukan
set.seed(789)

# Dataset dengan 100 observasi
sosial_data <- data.frame(
  pendidikan = sample(8:20, 100, replace = TRUE),
  pengalaman = sample(1:30, 100, replace = TRUE),
  jam_kerja_per_minggu = sample(30:60, 100, replace = TRUE),
  jumlah_anak = sample(0:5, 100, replace = TRUE),
  usia = sample(22:60, 100, replace = TRUE),
  status_pernikahan = sample(0:1, 100, replace = TRUE),
  lokasi_kota = sample(0:1, 100, replace = TRUE),
  industri = sample(0:1, 100, replace = TRUE),
  pelatihan_profesional = sample(0:1, 100, replace = TRUE),
  keterampilan_teknis = sample(0:1, 100, replace = TRUE)
)

# Melihat 6 baris pertama data
head(sosial_data)
  pendidikan pengalaman jam_kerja_per_minggu jumlah_anak usia status_pernikahan
1         20          9                   45           0   55                 0
2         19          9                   42           4   22                 1
3         11         23                   44           3   50                 1
4         17         12                   32           5   26                 0
5         17         14                   34           3   60                 1
6         10          8                   33           5   46                 1
  lokasi_kota industri pelatihan_profesional keterampilan_teknis
1           0        1                     0                   0
2           0        1                     1                   0
3           1        0                     0                   1
4           1        1                     0                   1
5           0        1                     0                   0
6           1        0                     1                   1
# Model regresi linier sederhana
model <- lm(jam_kerja_per_minggu ~ pengalaman, data = sosial_data)

# Melihat summary model regresi
summary(model)

Call:
lm(formula = jam_kerja_per_minggu ~ pengalaman, data = sosial_data)

Residuals:
     Min       1Q   Median       3Q      Max 
-15.8676  -5.2368  -0.3556   5.4319  16.0815 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 43.84355    1.63650  26.791   <2e-16 ***
pengalaman   0.07496    0.09224   0.813    0.418    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 7.861 on 98 degrees of freedom
Multiple R-squared:  0.006694,  Adjusted R-squared:  -0.003442 
F-statistic: 0.6604 on 1 and 98 DF,  p-value: 0.4184
# Model regresi linier sederhana
model <- lm(jam_kerja_per_minggu ~ pengalaman, data = sosial_data)

# Scatter plot
plot(sosial_data$pengalaman, sosial_data$jam_kerja_per_minggu,
     main = "Hubungan Pengalaman Kerja dan Jam Kerja per Minggu",
     xlab = "Pengalaman Kerja (Tahun)",
     ylab = "Jam Kerja per Minggu",
     pch = 16, col = "blue")

# Garis regresi
abline(model, col = "green", lwd = 2)

sosial_data <- data.frame(pendidikan = sample(8:20, 100, replace = TRUE),
  pengalaman = sample(1:30, 100, replace = TRUE),
  jam_kerja_per_minggu = sample(30:60, 100, replace = TRUE),
  jumlah_anak = sample(0:5, 100, replace = TRUE),
  usia = sample(22:60, 100, replace = TRUE),
  status_pernikahan = sample(0:1, 100, replace = TRUE),
  lokasi_kota = sample(0:1, 100, replace = TRUE),
  industri = sample(0:1, 100, replace = TRUE),
  pelatihan_profesional = sample(0:1, 100, replace = TRUE),
  keterampilan_teknis = sample(0:1, 100, replace = TRUE)
)

#Menghitung korelasi
 correlation <- cor(sosial_data$pengalaman, sosial_data$jam_kerja_per_minggu)
 print(correlation)
[1] -0.009763907
 #load library yang diperlukan
 library(ggplot2)
 library(reshape2)
 #membuat dataframe dengan variasi korelasi yang beragam
 
 set.seed(789)
 sosial_data <- data.frame(pendidikan = sample(8:20, 100, replace = TRUE),
  pengalaman = sample(1:30, 100, replace = TRUE),
  jam_kerja_per_minggu = sample(30:60, 100, replace = TRUE),
  jumlah_anak = sample(0:5, 100, replace = TRUE),
  usia = sample(22:60, 100, replace = TRUE),
  status_pernikahan = sample(0:1, 100, replace = TRUE),
  lokasi_kota = sample(0:1, 100, replace = TRUE),
  industri = sample(0:1, 100, replace = TRUE),
  pelatihan_profesional = sample(0:1, 100, replace = TRUE),
  keterampilan_teknis = sample(0:1, 100, replace = TRUE)
)
 cor_matrix <- cor(sosial_data)
 cor_melted <- melt(cor_matrix)
 
 #membuat heatmap dengan angka korelasi
ggplot(data = cor_melted, aes(Var1, Var2, fill = value)) +
  geom_tile() +
  geom_text(aes(label = round(value, 2)), color = "black", size = 5) + # Menampilkan angka korelasi
  scale_fill_gradient2(low = "blue", high = "red", mid = "white",
                       midpoint = 0, limit = c(-1, 1), space = "Lab",
                       name="Korelasi") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, vjust = 1,
                                   size = 12, hjust = 1)) +
  labs(title = "Heatmap Korelasi Sosial", x = "", y = "")

model2 <- lm(pengalaman~jam_kerja_per_minggu+pendidikan, data = sosial_data)
summary(model2)

Call:
lm(formula = pengalaman ~ jam_kerja_per_minggu + pendidikan, 
    data = sosial_data)

Residuals:
     Min       1Q   Median       3Q      Max 
-15.4385  -7.2756   0.0369   7.1205  15.1425 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)            9.0056     6.5449   1.376    0.172
jam_kerja_per_minggu   0.1027     0.1124   0.914    0.363
pendidikan             0.1410     0.2325   0.606    0.546

Residual standard error: 8.608 on 97 degrees of freedom
Multiple R-squared:  0.01045,   Adjusted R-squared:  -0.009957 
F-statistic: 0.512 on 2 and 97 DF,  p-value: 0.6009
 ##Interpretasi:

#Sebagian besar residual berkisar antara -7.28 hingga 7.12.
#Ada beberapa titik data yang cukup jauh dari median, menunjukkan variabilitas yang cukup tinggi dalam prediksi pengalaman kerja.

#Interpretasi Koefisien Regresi:
#Intercept (9.0056):
#Jika seseorang tidak memiliki jam kerja dan pendidikan (jam_kerja_per_minggu = 0 dan pendidikan = 0), maka pengalaman kerja yang diprediksi adalah sekitar 9 tahun.

#p-value = 0.172, menunjukkan bahwa intercept ini tidak signifikan pada α = 0.05.
#Jam Kerja per Minggu (0.1027):
#Setiap tambahan 1 jam kerja per minggu, pengalaman kerja diperkirakan bertambah 0.1027 tahun.

#p-value = 0.363, lebih besar dari 0.05 → tidak signifikan.
#Pendidikan (0.1410):
#Setiap tambahan 1 tahun pendidikan, pengalaman kerja diperkirakan bertambah 0.1410 tahun.

#p-value = 0.546, lebih besar dari 0.05 → tidak signifikan.

##Kesimpulan:

#Baik jam kerja maupun pendidikan tidak memiliki pengaruh signifikan terhadap pengalaman kerja.
#Koefisiennya kecil, menunjukkan hubungan yang sangat lemah.