library(ggplot2)
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
1.Berapa jumlah mahasiswa yang memiliki IPK lebih besar atau sama
dengan 3,5?
dataset_pendidikan %>%
filter(IPK >= 3.5) %>%
nrow()
## [1] 49
2.Siapa saja yang menjadi top 3 IPK tertinggi?
dataset_pendidikan %>%
arrange(desc(IPK)) %>%
select(ID_Mahasiswa, IPK) %>%
head(3)
## ID_Mahasiswa IPK
## 1 MHS052 4
## 2 MHS111 4
## 3 MHS123 4
3.Buat kolom Kategori_IPK dengan case_when(): <2,50 = Kurang;
2,50-2,99 = Cukup; 3,00-3,49 = Baik; >=3,50 = Sangat Baik. Berapa
mahasiswa yang masuk kategori “Baik”?
data <- dataset_pendidikan %>%
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"
)
)
data %>%
count(Kategori_IPK)
## Kategori_IPK n
## 1 Baik 71
## 2 Cukup 63
## 3 Kurang 17
## 4 Sangat Baik 49
4.Hitung rata-rata IPK per semester dengan group_by() dan
summarise(). Semester berapa yang rata-rata IPK-nya tertinggi?
dataset_pendidikan %>%
group_by(Semester) %>%
summarise(rata_IPK = mean(IPK, na.rm = TRUE)) %>%
arrange(desc(rata_IPK))
## # A tibble: 8 × 2
## Semester rata_IPK
## <int> <dbl>
## 1 4 3.20
## 2 6 3.19
## 3 3 3.17
## 4 5 3.12
## 5 7 3.06
## 6 1 3.06
## 7 8 3.04
## 8 2 3.04
5.Jumlah pertemuan per semester adalah 70 (= 100%). Buat kolom
Persen_Kehadiran = Total_Kehadiran / 70 * 100. Berapa mahasiswa yang
kehadirannya kurang dari 75%?
data <- data %>%
mutate(Persen_Kehadiran = Total_Kehadiran / 70 * 100)
data %>%
filter(Persen_Kehadiran < 75) %>%
nrow()
## [1] 40