df_mahasiswa <- read.csv("df_mahasiswa.csv")
head(df_mahasiswa)
##   X id_mahasiswa jenis_kelamin jam_belajar_per_hari frekuensi_login_lms
## 1 1       MHS001             L                    4                   1
## 2 2       MHS002             P                    4                   2
## 3 3       MHS003             P                    2                   6
## 4 4       MHS004             P                    5                   3
## 5 5       MHS005             L                    3                   2
## 6 6       MHS006             L                    3                   7
##   motivasi_belajar  ipk
## 1               82 3.12
## 2               73 3.45
## 3               71 3.07
## 4               98 3.43
## 5               81 2.83
## 6               61 3.10
colSums(is.na(df_mahasiswa))
##                    X         id_mahasiswa        jenis_kelamin 
##                    0                    0                    0 
## jam_belajar_per_hari  frekuensi_login_lms     motivasi_belajar 
##                    0                    0                    0 
##                  ipk 
##                    0
table(df_mahasiswa$jenis_kelamin)
## 
##  L  P 
## 32 23
aggregate(ipk ~ jenis_kelamin, data = df_mahasiswa, FUN = mean, na.rm = TRUE)
##   jenis_kelamin      ipk
## 1             L 3.158125
## 2             P 3.176957
df_mahasiswa[order(-df_mahasiswa$ipk), c("jenis_kelamin", "ipk")]
##    jenis_kelamin  ipk
## 18             L 3.89
## 41             L 3.73
## 48             L 3.70
## 22             P 3.69
## 37             L 3.67
## 51             L 3.65
## 24             P 3.61
## 34             P 3.56
## 23             L 3.54
## 16             L 3.46
## 2              P 3.45
## 4              P 3.43
## 54             L 3.41
## 30             P 3.40
## 45             P 3.33
## 26             L 3.32
## 14             L 3.31
## 52             L 3.30
## 38             L 3.29
## 43             P 3.29
## 53             L 3.29
## 31             P 3.22
## 49             P 3.22
## 55             P 3.21
## 40             L 3.17
## 44             P 3.15
## 28             P 3.14
## 35             L 3.13
## 47             L 3.13
## 1              L 3.12
## 13             P 3.11
## 33             P 3.11
## 6              L 3.10
## 19             L 3.09
## 8              L 3.08
## 3              P 3.07
## 17             L 3.06
## 42             P 3.05
## 50             P 3.05
## 7              P 2.98
## 21             L 2.96
## 36             P 2.95
## 27             L 2.94
## 10             L 2.93
## 15             L 2.90
## 29             L 2.89
## 5              L 2.83
## 9              P 2.82
## 20             L 2.73
## 12             P 2.71
## 32             L 2.66
## 25             L 2.65
## 11             L 2.64
## 39             P 2.52
## 46             L 2.49
df_mahasiswa[order(-df_mahasiswa$motivasi_belajar), c("id_mahasiswa", "motivasi_belajar")]
##    id_mahasiswa motivasi_belajar
## 54       MHS054              100
## 4        MHS004               98
## 45       MHS045               96
## 18       MHS018               92
## 48       MHS048               92
## 51       MHS051               92
## 35       MHS035               91
## 43       MHS043               91
## 16       MHS016               90
## 38       MHS038               90
## 41       MHS041               90
## 26       MHS026               89
## 52       MHS052               88
## 30       MHS030               87
## 34       MHS034               87
## 19       MHS019               84
## 23       MHS023               83
## 1        MHS001               82
## 47       MHS047               82
## 5        MHS005               81
## 14       MHS014               81
## 24       MHS024               81
## 40       MHS040               80
## 53       MHS053               80
## 2        MHS002               73
## 20       MHS020               73
## 42       MHS042               73
## 49       MHS049               73
## 22       MHS022               72
## 3        MHS003               71
## 31       MHS031               71
## 55       MHS055               71
## 25       MHS025               70
## 8        MHS008               69
## 37       MHS037               68
## 36       MHS036               66
## 44       MHS044               63
## 6        MHS006               61
## 13       MHS013               59
## 27       MHS027               59
## 50       MHS050               57
## 11       MHS011               56
## 28       MHS028               53
## 17       MHS017               52
## 39       MHS039               52
## 29       MHS029               48
## 21       MHS021               47
## 10       MHS010               46
## 33       MHS033               46
## 7        MHS007               44
## 9        MHS009               44
## 15       MHS015               44
## 46       MHS046               43
## 32       MHS032               39
## 12       MHS012               35
df_mahasiswa$kelompok_belajar <- ifelse(df_mahasiswa$jam_belajar >= 4, "≥ 4 jam", "< 4 jam")
rata_ipk <- aggregate(ipk ~ kelompok_belajar, data = df_mahasiswa, FUN = mean, na.rm = TRUE)
print(rata_ipk)
##   kelompok_belajar      ipk
## 1          < 4 jam 2.935357
## 2          ≥ 4 jam 3.405185
df_mahasiswa[order(-df_mahasiswa$frekuensi_login_lms), c("ipk", "frekuensi_login_lms")]
##     ipk frekuensi_login_lms
## 6  3.10                   7
## 7  2.98                   7
## 17 3.06                   7
## 18 3.89                   7
## 22 3.69                   7
## 31 3.22                   7
## 33 3.11                   7
## 41 3.73                   7
## 44 3.15                   7
## 55 3.21                   7
## 3  3.07                   6
## 9  2.82                   6
## 13 3.11                   6
## 21 2.96                   6
## 26 3.32                   6
## 28 3.14                   6
## 37 3.67                   6
## 42 3.05                   6
## 51 3.65                   6
## 10 2.93                   5
## 43 3.29                   5
## 47 3.13                   5
## 49 3.22                   5
## 8  3.08                   4
## 23 3.54                   4
## 24 3.61                   4
## 34 3.56                   4
## 48 3.70                   4
## 50 3.05                   4
## 52 3.30                   4
## 53 3.29                   4
## 54 3.41                   4
## 4  3.43                   3
## 27 2.94                   3
## 30 3.40                   3
## 46 2.49                   3
## 2  3.45                   2
## 5  2.83                   2
## 12 2.71                   2
## 14 3.31                   2
## 15 2.90                   2
## 19 3.09                   2
## 29 2.89                   2
## 32 2.66                   2
## 40 3.17                   2
## 45 3.33                   2
## 1  3.12                   1
## 11 2.64                   1
## 16 3.46                   1
## 20 2.73                   1
## 25 2.65                   1
## 35 3.13                   1
## 36 2.95                   1
## 38 3.29                   1
## 39 2.52                   1
max <- max(df_mahasiswa$frekuensi_login_lms)
mahasiswalogintertinggi <- subset(df_mahasiswa, frekuensi_login_lms == max)
mahasiswalogintertinggi[, c("id_mahasiswa", "frekuensi_login_lms", "ipk")]
##    id_mahasiswa frekuensi_login_lms  ipk
## 6        MHS006                   7 3.10
## 7        MHS007                   7 2.98
## 17       MHS017                   7 3.06
## 18       MHS018                   7 3.89
## 22       MHS022                   7 3.69
## 31       MHS031                   7 3.22
## 33       MHS033                   7 3.11
## 41       MHS041                   7 3.73
## 44       MHS044                   7 3.15
## 55       MHS055                   7 3.21
login_tertinggi <- max(df_mahasiswa$frekuensi_login, na.rm = TRUE)
mahasiswa_max_login <- df_mahasiswa[df_mahasiswa$frekuensi_login == 
login_tertinggi, ]

if(any(mahasiswa_max_login$ipk > 3.5)) {
  print("ya")
} else {
  print("tidak")
}
## [1] "ya"
ipk_tertinggi <- max(df_mahasiswa$ipk, na.rm = TRUE)
mahasiswa_terbaik <- df_mahasiswa[df_mahasiswa$ipk == ipk_tertinggi, ]
mahasiswa_terbaik[, c("id_mahasiswa", "motivasi_belajar")]
##    id_mahasiswa motivasi_belajar
## 18       MHS018               92
filtered_data <- subset(df_mahasiswa, ipk > 3.5 & motivasi_belajar > 85)
counts <- table(filtered_data$jenis_kelamin)


L <- ifelse(!is.na(counts["L"]), counts["L"], 0)
P <- ifelse(!is.na(counts["P"]), counts["P"], 0)

cat("L =", L, "dan P =", P, "\n")
## L = 4 dan P = 1