B. Soal Praktik

1. Menggunakan dataset airquality

a. Menghitung Statistik Deskriptif untuk Variabel Ozone

data("airquality")

mean_ozone <- mean(airquality$Ozone, na.rm = TRUE)
median_ozone <- median(airquality$Ozone, na.rm = TRUE)
sd_ozone <- sd(airquality$Ozone, na.rm = TRUE)

cat("Statistik Deskriptif untuk Variabel Ozone:\n")
## Statistik Deskriptif untuk Variabel Ozone:
cat("Mean: ", mean_ozone, "\n")
## Mean:  42.12931
cat("Median: ", median_ozone, "\n")
## Median:  31.5
cat("Standar Deviasi: ", sd_ozone, "\n")
## Standar Deviasi:  32.98788

b. Membuat Diagram Pencar (Scatter Plot) antara Wind dan Temp

plot(airquality$Wind, airquality$Temp,
     xlab = "Wind (Kecepatan Angin)",
     ylab = "Temp (Temperatur)",
     main = "Scatter Plot antara Wind dan Temp",
     col = "navy",
     pch = 19)

2. Bar chart dari Variabl cyl

library(ggplot2)

data(mtcars)

cyl_count <- table(mtcars$cyl)

df_cyl <- as.data.frame(cyl_count)

ggplot(df_cyl, aes(x = Var1, y = Freq)) +
  geom_bar(stat = "identity", fill = "navy") + 
  geom_text(aes(label = Freq), vjust = -0.5, color = "black") +  # Menambahkan label
  labs(x = "Jumlah Silinder (Cyl)", y = "Frekuensi", title = "Distribusi Jumlah Silinder pada mtcars") +
  theme_minimal()

3. Mnggunakan dataset iris

a. Membuat Boxplot untuk Membandingkan Petal.Width berdasarkan Variabel Species

data(iris)

ggplot(iris, aes(x = Species, y = Petal.Width, fill = Species)) +
  geom_boxplot() +
  labs(title = "Boxplot Petal.Width berdasarkan Species",
       x = "Species",
       y = "Petal.Width") +
  theme_minimal()

b. Menghitung Korelasi antara Sepal.Length dan Petal.Length, dan Menginterpretasikan Hasilnya

correlation <- cor(iris$Sepal.Length, iris$Petal.Length)

correlation
## [1] 0.8717538

Korelasi antara Sepal.Length dan Petal.Length menunjukkan hubungan yang kuat positif dengan nilai = 0.8717538

c. Membuat Scatter Plot antara Sepal.Length dan Sepal.Width dengan Warna Berdasarkan Species dan Menambahkan Garis Regresi

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +  
  geom_smooth(method = "lm", se = FALSE, aes(color = Species)) +  
  labs(title = "Scatter Plot Sepal.Length vs Sepal.Width dengan Garis Regresi",
       x = "Sepal.Length",
       y = "Sepal.Width") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

4. Melakukan uji Chi-squre untuk menguji hubungan antara dua variabel kategorik, yaitu vs dan am, dalam dataset mtcars

data(mtcars)

mtcars$vs <- factor(mtcars$vs, labels = c("V", "S"))
mtcars$am <- factor(mtcars$am, labels = c("Automatic", "Manual"))

table_vs_am <- table(mtcars$vs, mtcars$am)

chi_square_test <- chisq.test(table_vs_am)

chi_square_test
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table_vs_am
## X-squared = 0.34754, df = 1, p-value = 0.5555

5. Bangun model regresi linear sederhana menggunakan dataset airquality untuk memprediksi variabel Tmp berdasarkan Solar.R.

a. Tampilkan Ringkasan Model Menggunakan summary()

data(airquality)

model <- lm(Temp ~ Solar.R, data = airquality)

summary(model)
## 
## Call:
## lm(formula = Temp ~ Solar.R, data = airquality)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -22.3787  -4.9572   0.8932   5.9111  18.4013 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 72.863012   1.693951  43.014  < 2e-16 ***
## Solar.R      0.028255   0.008205   3.444 0.000752 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.898 on 144 degrees of freedom
##   (7 observations deleted due to missingness)
## Multiple R-squared:  0.07609,    Adjusted R-squared:  0.06967 
## F-statistic: 11.86 on 1 and 144 DF,  p-value: 0.0007518

b. Buat Scatter Plot dengan Garis Regresi

ggplot(airquality, aes(x = Solar.R, y = Temp)) +
  geom_point(color = "blue") +  # Menambahkan titik data
  geom_smooth(method = "lm", color = "red") +  # Menambahkan garis regresi linear
  labs(title = "Scatter Plot Solar.R vs Temp dengan Garis Regresi",
       x = "Solar.R (Radiasi Matahari)",
       y = "Temp (Temperatur Udara)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 7 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 7 rows containing missing values or values outside the scale range
## (`geom_point()`).

c. Interpretasi Hasil

Poin A

Hasil regresi linear menunjukkan bahwa variabel Solar.R (radiasi matahari) memiliki pengaruh positif dan signifikan terhadap suhu (Temp) dengan koefisien regresi sebesar 0.0283 (p-value = 0.000752), yang berarti setiap peningkatan 1 unit Solar.R akan meningkatkan suhu sebesar 0.0283 unit. Intersep model sebesar 72.863 menunjukkan perkiraan suhu saat Solar.R = 0. Namun, kemampuan model dalam menjelaskan variasi suhu cukup rendah, dengan R-squared = 0.07609, yang berarti hanya sekitar 7.6% variasi suhu dapat dijelaskan oleh variabel Solar.R, sedangkan sisanya dipengaruhi oleh faktor lain yang tidak dimasukkan dalam model ini. Meskipun begitu, uji F menunjukkan model secara keseluruhan signifikan dengan p-value = 0.0007518

Poin B

Scatter plot ini menunjukkan hubungan antara Solar.R (radiasi matahari) dan Temp (suhu udara), dengan garis regresi berwarna merah yang menunjukkan tren linear antara kedua variabel. Koefisien regresi sebesar 0.0283 (dari analisis sebelumnya) menunjukkan hubungan positif yang lemah antara Solar.R dan Temp, artinya setiap peningkatan 1 unit Solar.R diperkirakan meningkatkan suhu udara sebesar 0.0283 unit. Namun, sebaran titik-titik data (ditampilkan sebagai titik biru) menunjukkan adanya variasi yang cukup besar di sekitar garis regresi, dan hanya 7.6% variasi dalam suhu (Temp) yang dapat dijelaskan oleh Solar.R, seperti ditunjukkan oleh nilai R-squared = 0.076. Sisa variasi dipengaruhi oleh faktor lain yang tidak dimasukkan dalam model. Meskipun garis regresi menunjukkan tren positif, tingkat hubungan antara kedua variabel relatif lemah, seperti terlihat dari sebaran data yang cukup luas di sekitar garis.