1. Import dataset

data(mtcars)

# a. Hitung statistik deskriptif untuk variabel mpg
mean_mpg <- mean(mtcars$mpg)          # Mean
median_mpg <- median(mtcars$mpg)      # Median
sd_mpg <- sd(mtcars$mpg)              # Standard Deviation

cat("Mean MPG:", mean_mpg, "\n")
## Mean MPG: 20.09062
cat("Median MPG:", median_mpg, "\n")
## Median MPG: 19.2
cat("Standard Deviation MPG:", sd_mpg, "\n")
## Standard Deviation MPG: 6.026948
# b. Buat boxplot variabel mpg berdasarkan variabel cyl
boxplot(mpg ~ cyl, data = mtcars,
        main = "Boxplot MPG berdasarkan Cylinders",
        xlab = "Jumlah Cylinders",
        ylab = "Miles per Gallon (MPG)",
        col = c("red", "blue", "green"))

# Histogram untuk variabel hp dengan garis densitas
hist(mtcars$hp, 
     breaks = 10, 
     main = "Histogram Horsepower (hp)", 
     xlab = "Horsepower (hp)", 
     col = "lightblue", 
     border = "black", 
     probability = TRUE)
lines(density(mtcars$hp), col = "red", lwd = 2)

# Summary untuk distribusi
summary(mtcars$hp)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    52.0    96.5   123.0   146.7   180.0   335.0
# ANOVA untuk Sepal.Length berdasarkan Species
anova_model <- aov(Sepal.Length ~ Species, data = iris)
summary(anova_model)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## Species       2  63.21  31.606   119.3 <2e-16 ***
## Residuals   147  38.96   0.265                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Filter data untuk Setosa dan Versicolor
setosa <- subset(iris, Species == "setosa")$Petal.Length
versicolor <- subset(iris, Species == "versicolor")$Petal.Length

# Uji t-test
t_test_result <- t.test(setosa, versicolor, var.equal = TRUE)
t_test_result
## 
##  Two Sample t-test
## 
## data:  setosa and versicolor
## t = -39.493, df = 98, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -2.938597 -2.657403
## sample estimates:
## mean of x mean of y 
##     1.462     4.260
# Model regresi linear
regression_model <- lm(mpg ~ wt, data = mtcars)

# a. Ringkasan model
summary(regression_model)
## 
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5432 -2.3647 -0.1252  1.4096  6.8727 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  37.2851     1.8776  19.858  < 2e-16 ***
## wt           -5.3445     0.5591  -9.559 1.29e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared:  0.7528, Adjusted R-squared:  0.7446 
## F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10
# b. Scatter plot dengan garis regresi
plot(mtcars$wt, mtcars$mpg,
     main = "Scatter Plot MPG vs Weight",
     xlab = "Weight (wt)",
     ylab = "Miles per Gallon (MPG)",
     pch = 16, col = "blue")
abline(regression_model, col = "red", lwd = 2)