EKsplorasi Analisis IPK, Kehadiran, dan Jam Belajar Mahasiswa
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
dataset <- read.csv("~/Nayla/R/dataset_pendidikan.csv")
head(dataset)
## ID_Mahasiswa IPK Semester Total_Kehadiran Total_Jam_Belajar Rata2_Jam_Tidur
## 1 MHS001 3.45 2 58 238 7.5
## 2 MHS002 3.13 5 54 246 7.1
## 3 MHS003 2.75 4 61 91 7.0
## 4 MHS004 3.52 4 67 162 6.6
## 5 MHS005 3.57 4 56 258 7.4
## 6 MHS006 3.52 7 56 222 7.5
Berapa jumlah siswa yang memiliki IPK lebih besar atau sama
dengan 3.5?
Jumlah_siswa <- dataset %>%
filter(IPK >= 3.5) %>%
nrow()
head(Jumlah_siswa)
## [1] 49
Siapa aja yang menjadi top 3 IPK tertinggi?
top_3_IPK <- dataset %>%
arrange(desc(IPK)) %>%
slice_head(n=3)
head(top_3_IPK)
## ID_Mahasiswa IPK Semester Total_Kehadiran Total_Jam_Belajar Rata2_Jam_Tidur
## 1 MHS052 4 4 70 377 6.8
## 2 MHS111 4 6 61 258 7.2
## 3 MHS123 4 4 66 341 6.2
Berapa siswa yang masuk kategori “Baik”?
data_kategori <- dataset %>%
mutate(
Kategori_IPK = case_when(
IPK < 2.50 ~ "Kurang",
IPK >= 2.50 & IPK <= 2.99~ "Cukup",
IPK >= 3.00 & IPK <= 3.49 ~ "Baik",
IPK >= 3.50 ~ "Sangat Baik"))
jumlah_baik <- data_kategori %>%
filter(Kategori_IPK == "Baik") %>%
nrow()
head(jumlah_baik)
## [1] 71
Berapa siswa yang kehadirannya kurang dari
75%?
data_kehadiran <- dataset %>%
mutate(Persen_Kehadiran = (Total_Kehadiran/70)*100)
jumlah_kurang_75 <- data_kehadiran %>%
filter(Persen_Kehadiran < 75) %>%
nrow()
head(jumlah_kurang_75)
## [1] 40
Berapa jumlah siswa yang rajin tetapi IPK
rendah?
median_jam <- median (dataset$Total_Jam_Belajar, na.rm = TRUE)
rata_ipk <- mean(dataset$IPK, na.rm = TRUE)
jumlah_rajin_ipk_rendah <- dataset %>%
filter(Total_Jam_Belajar > median_jam & IPK < rata_ipk) %>%
nrow()
head(jumlah_rajin_ipk_rendah)
## [1] 17