# Import dataset
data(mtcars)
# Hitung statistik deskriptif
mean_mpg <- mean(mtcars$mpg)
median_mpg <- median(mtcars$mpg)
sd_mpg <- sd(mtcars$mpg)

list(mean = mean_mpg, median = median_mpg, std_dev = sd_mpg)
## $mean
## [1] 20.09062
## 
## $median
## [1] 19.2
## 
## $std_dev
## [1] 6.026948
boxplot(mpg ~ cyl, data = mtcars,
        xlab = "Number of Cylinders",
        ylab = "Miles per Gallon (mpg)",
        main = "Boxplot of mpg by Cylinders")

Boxplot menunjukkan distribusi mpg untuk mobil dengan jumlah silinder (cyl) yang berbeda. Jika rentang antar kuartil (IQR) lebih besar untuk satu kelompok, data dalam kelompok tersebut lebih tersebar. Jika ada perbedaan median antar kelompok, ini menunjukkan adanya perbedaan rata-rata efisiensi bahan bakar berdasarkan jumlah silinder.

# Histogram dengan garis densitas
hist(mtcars$hp, probability = TRUE, 
     main = "Histogram of Horsepower (hp) with Density Curve",
     xlab = "Horsepower")
lines(density(mtcars$hp), col = "blue", lwd = 2)

Jika histogram menunjukkan puncak simetris di sekitar nilai tengah, distribusi mendekati normal. Jika histogram miring ke kanan (skewed positif), sebagian besar nilai hp berada di sisi rendah dengan sedikit nilai tinggi. Garis densitas membantu menggambarkan tren distribusi data. Jika garis cenderung halus, data lebih seragam.

# Melihat distribusi
summary(mtcars$hp)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    52.0    96.5   123.0   146.7   180.0   335.0
# Import dataset iris
data(iris)
# Uji ANOVA
anova_result <- aov(Sepal.Length ~ Species, data = iris)
summary(anova_result)
##              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

Hasil Uji: Jika p-value < 0.05, maka perbedaan panjang sepal antar spesies signifikan secara statistik. Ini berarti spesies yang berbeda memiliki karakteristik panjang sepal yang berbeda secara bermakna. Jika p-value ≥ 0.05: Tidak ada bukti cukup untuk menyatakan perbedaan panjang sepal antar spesies.

# Filter data untuk kedua spesies
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

Hasil Uji: Jika p-value < 0.05, terdapat perbedaan signifikan dalam panjang petal antara kedua spesies. Jika p-value ≥ 0.05, panjang petal untuk kedua spesies tidak berbeda secara signifikan.

# Model regresi
model <- lm(mpg ~ wt, data = mtcars)
summary(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
plot(mtcars$wt, mtcars$mpg,
     xlab = "Weight (wt)",
     ylab = "Miles per Gallon (mpg)",
     main = "Scatter Plot of mpg vs wt")
abline(model, col = "red", lwd = 2)

Jika p-value untuk koefisien signifikan (< 0.05), hubungan antara berat mobil (wt) dan efisiensi bahan bakar (mpg) nyata secara statistik. Koefisien negatif menunjukkan hubungan berlawanan: semakin berat mobil, semakin rendah efisiensi bahan bakar.