#Soal 1a
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("Mean Ozone:", mean_ozone, "\n")
## Mean Ozone: 42.12931
cat("Median Ozone:", median_ozone, "\n")
## Median Ozone: 31.5
cat("Standar Deviasi Ozone:", sd_ozone, "\n")
## Standar Deviasi Ozone: 32.98788
# soal 1b
# Scatter plot antara Wind dan Temp
plot(airquality$Wind, airquality$Temp,
     main = "Scatter Plot antara Wind dan Temp",
     xlab = "Wind (Kecepatan Angin)",
     ylab = "Temp (Suhu)",
     col = "skyblue", pch = 16)

#Soal 2
#dataset mtcars
data("mtcars")

# Frekuensi kategori cyl
cyl_count <- table(mtcars$cyl)

# Bar chart dengan label jumlah
barplot(cyl_count,
        main = "Bar Chart untuk Variabel cyl",
        xlab = "Jumlah Silinder (cyl)",
        ylab = "Frekuensi",
        col = "skyblue",
        ylim = c(0, max(cyl_count) + 2))

# Menambahkan label pada bar chart
text(x = seq_along(cyl_count), 
     y = cyl_count, 
     label = cyl_count, 
     pos = 3, cex = 1.0, col = "skyblue")

#soal 3a
# Load dataset iris
data("iris")

# Boxplot Petal.Width berdasarkan Species
boxplot(Petal.Width ~ Species, data = iris,
        main = "Boxplot Petal.Width berdasarkan Species",
        xlab = "Species",
        ylab = "Petal.Width",
        col = c("orange", "lightgreen", "lightblue"))

#soal 3b
# Korelasi antara Sepal.Length dan Petal.Length
cor_value <- cor(iris$Sepal.Length, iris$Petal.Length)
cat("Korelasi antara Sepal.Length dan Petal.Length:", cor_value, "\n")
## Korelasi antara Sepal.Length dan Petal.Length: 0.8717538
# Interpretasi korelasi
if (abs(cor_value) > 0.7) {
  cat("Hubungan yang kuat.\n")
} else if (abs(cor_value) > 0.5) {
  cat("Hubungan yang sedang.\n")
} else {
  cat("Hubungan yang lemah.\n")
}
## Hubungan yang kuat.
#soal 3b
# Scatter plot dengan warna berdasarkan Species
library(ggplot2)

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") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

#soal 4
# Membuat tabel kontingensi untuk vs dan am
vs_am_table <- table(mtcars$vs, mtcars$am)

# Uji Chi-Square
chi_result <- chisq.test(vs_am_table)

# Tampilkan hasil
print(chi_result)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  vs_am_table
## X-squared = 0.34754, df = 1, p-value = 0.5555
# Interpretasi hasil
if (chi_result$p.value < 0.05) {
  cat("Terdapat hubungan signifikan antara vs dan am.\n")
} else {
  cat("Tidak terdapat hubungan signifikan antara vs dan am.\n")
}
## Tidak terdapat hubungan signifikan antara vs dan am.
#soal 5a
# Model regresi linear: Temp ~ Solar.R
model <- lm(Temp ~ Solar.R, data = airquality)

# Ringkasan model
summary_model <- summary(model)
print(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
#soal4b
# Scatter plot dengan garis regresi
plot(airquality$Solar.R, airquality$Temp,
     main = "Scatter Plot dengan Garis Regresi",
     xlab = "Solar.R (Radiasi Surya)",
     ylab = "Temp (Suhu)",
     pch = 16, col = "skyblue")
abline(model, col = "red", lwd = 2)

#soal 5c
# Koefisien regresi
coefficients <- coef(model)
r_squared <- summary_model$r.squared

cat("Koefisien Intercept:", coefficients[1], "\n")
## Koefisien Intercept: 72.86301
cat("Koefisien Solar.R:", coefficients[2], "\n")
## Koefisien Solar.R: 0.02825463
cat("Nilai R-squared:", r_squared, "\n")
## Nilai R-squared: 0.07608786
# Interpretasi
if (r_squared > 0.7) {
  cat("Model memiliki kemampuan prediksi yang baik.\n")
} else if (r_squared > 0.5) {
  cat("Model memiliki kemampuan prediksi yang cukup.\n")
} else {
  cat("Model memiliki kemampuan prediksi yang rendah.\n")
}
## Model memiliki kemampuan prediksi yang rendah.