B. Soal Praktik

# soal No 1.a

# Load dataset
data("airquality")

# Hitung statistik deskriptif untuk variabel Ozone
mean_ozone <- mean(airquality$Ozone, na.rm = TRUE)
median_ozone <- median(airquality$Ozone, na.rm = TRUE)
sd_ozone <- sd(airquality$Ozone, na.rm = TRUE)

# Tampilkan hasil
mean_ozone
## [1] 42.12931
median_ozone
## [1] 31.5
sd_ozone
## [1] 32.98788

Penjelasan: Data Ozone dalam dataset ini memiliki rata-rata sekitar 42.13 dengan sebaran yang cukup besar (simpangan baku 32.99). Median yang lebih rendah dari rata-rata menunjukkan bahwa distribusi data mungkin tidak simetris.

# Soal No 1.b

# Load library ggplot2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# Scatter plot antara Wind dan Temp
ggplot(airquality, aes(x = Wind, y = Temp)) +
  geom_point(color = "pink") +
  labs(title = "Scatter Plot Wind vs Temp",
       x = "Wind",
       y = "Temperature")

Penejlasan : Secara umum, scatter plot ini menunjukkan bahwa peningkatan kecepatan angin (Wind) mungkin memiliki sedikit pengaruh negatif terhadap suhu (Temperature), tetapi hubungan tersebut tidak kuat dan terdapat variabilitas yang tinggi di data.

# Soal No 2

# Load dataset mtcars
data("mtcars")

# Ubah cyl menjadi faktor
mtcars$cyl <- as.factor(mtcars$cyl)

# Buat bar chart
ggplot(mtcars, aes(x = cyl)) +
  geom_bar(fill = "skyblue") +
  geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
  labs(title = "Bar Chart of Cylinders",
       x = "Number of Cylinders",
       y = "Count")
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Penjelasan :

  1. Sumbu X (Number of Cylinders) Sumbu horizontal menunjukkan jumlah silinder pada kendaraan, yaitu 4, 6, dan 8 silinder.

  2. Sumbu Y (Count) Sumbu vertikal menunjukkan jumlah atau frekuensi dari kendaraan yang memiliki jumlah silinder tertentu.

  3. Distribusi Frekuensi

  1. Analisis Pola
# Soal No 3.a

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

Penjelasan :

# Soal No 3.b

# Hitung korelasi antara Sepal.Length dan Petal.Length
correlation <- cor(iris$Sepal.Length, iris$Petal.Length)
correlation
## [1] 0.8717538

Penjelasan : Variabel Sepal.Length dan Petal.Length pada dataset iris memiliki hubungan positif yang sangat kuat. Artinya, panjang kelopak bunga (Sepal Length) memiliki kecenderungan yang kuat untuk bertambah seiring dengan bertambahnya panjang mahkota bunga (Petal Length).

Meskipun korelasi ini kuat, perlu diingat bahwa korelasi tidak menunjukkan sebab-akibat. Hubungan ini hanya mengindikasikan adanya pola yang kuat di antara kedua variabel tersebut.

# Soal No 3.c

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

Penjelasan :

# Soal No 4

# Load dataset
data("mtcars")

# Ubah vs dan am menjadi faktor
mtcars$vs <- as.factor(mtcars$vs)
mtcars$am <- as.factor(mtcars$am)

# Buat tabel kontingensi
chi_table <- table(mtcars$vs, mtcars$am)

# Lakukan uji Chi-Square
chi_test <- chisq.test(chi_table)

# Tampilkan hasil
chi_test
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  chi_table
## X-squared = 0.34754, df = 1, p-value = 0.5555

Penjelasan : Karena nilai p (0.5555) lebih besar dari tingkat signifikansi umum (misalnya, 0.05), kita gagal menolak hipotesis nol. Ini berarti bahwa tidak ada bukti yang cukup untuk menyimpulkan bahwa ada hubungan yang signifikan antara variabel “vs” dan “am” dalam dataset mtcars.

Dalam konteks dataset mtcars, variabel “vs” dan “am” kemungkinan mewakili karakteristik tertentu dari mobil (misalnya, jenis transmisi atau tipe mesin).

# Saoal No 5.a

# Bangun model regresi linear
model <- lm(Temp ~ Solar.R, data = airquality)

# Tampilkan ringkasan model
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
# Soal No 5.b

# Scatter plot dengan garis regresi
ggplot(airquality, aes(x = Solar.R, y = Temp)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, color = "purple") +
  labs(title = "Scatter Plot Temp vs Solar.R dengan Garis Regresi",
       x = "Solar Radiation",
       y = "Temperature")
## `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()`).

Penjelasan : Berdasarkan grafik scatter plot tersebut, dapat disimpulkan bahwa terdapat hubungan yang positif antara radiasi matahari dan suhu. Semakin tinggi radiasi matahari, maka semakin tinggi pula suhu yang cenderung terjadi. Namun, perlu diingat bahwa hubungan ini tidak selalu sempurna dan ada faktor-faktor lain yang mungkin juga mempengaruhi suhu selain radiasi matahari.

Soal 5.c

berdasarkan hasil grafik sebelumnya Hubungan Positif: Garis regresi miring ke atas, menunjukkan adanya hubungan positif antara radiasi matahari dan suhu. Artinya, semakin tinggi radiasi matahari, semakin tinggi pula suhu. Variasi: Meskipun ada tren positif, tidak semua titik data berada persis pada garis regresi. Ini menunjukkan bahwa ada variasi dalam data, artinya tidak semua kenaikan radiasi matahari selalu diikuti dengan kenaikan suhu yang sama persis. Koefisien Regresi: Untuk mengetahui nilai pasti koefisien regresi, kita perlu melihat output dari analisis regresi. Koefisien regresi akan memberikan informasi tentang besarnya pengaruh perubahan radiasi matahari terhadap perubahan suhu. Nilai R-squared: Nilai R-squared akan menunjukkan seberapa besar persentase variasi suhu yang dapat dijelaskan oleh variasi radiasi matahari. Semakin tinggi nilai R-squared, semakin baik model regresi dalam menjelaskan hubungan antara kedua variabel.