Definisikan Library

library(dplyr)
library(tidyr)
library(ggplot2)
library(shiny)
library(rmarkdown)

Data simulasi

nilai <- data.frame(
  Siswa = paste0("Siswa_", 1:100),
  Kelas = sample(c("A", "B"), 100, replace = TRUE),
  Skor = rnorm(100, mean = 75, sd = 10)
)

Analisis dengan dplyr: rata-rata skor per kelas

rata_rata <- nilai %>%
  group_by(Kelas) %>%
  summarise(Rata_Skor = mean(Skor, na.rm = TRUE))

print(rata_rata)
## # A tibble: 2 × 2
##   Kelas Rata_Skor
##   <chr>     <dbl>
## 1 A          74.7
## 2 B          73.5

Merapikan data (tidyr)

Buat data pivot dengan mean dan sd per kelas

pivot <- nilai %>%
  group_by(Kelas) %>%
  summarise(
    Mean_Skor = mean(Skor),
    SD_Skor = sd(Skor)
  ) %>%
  pivot_longer(cols = c(Mean_Skor, SD_Skor), names_to = "Tipe", values_to = "Nilai")

print(pivot)
## # A tibble: 4 × 3
##   Kelas Tipe      Nilai
##   <chr> <chr>     <dbl>
## 1 A     Mean_Skor 74.7 
## 2 A     SD_Skor   10.3 
## 3 B     Mean_Skor 73.5 
## 4 B     SD_Skor    9.83

Visualisasi dengan ggplot2

ggplot(nilai, aes(x = Kelas, y = Skor, fill = Kelas)) +
  geom_boxplot() +
  labs(title = "Distribusi Skor Siswa per Kelas", x = "Kelas", y = "Skor") +
  theme_minimal()