#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.