Import Library yang diperlukan
library(readr)
## Warning: package 'readr' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## 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
library(ggplot2)
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.4.3
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.4.3
library(moments)
options(repos = c(CRAN = "https://cran.rstudio.com/"))
update.packages(ask = FALSE)
## Warning: package 'class' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'cluster' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'foreign' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'KernSmooth' in library 'C:/Program Files/R/R-4.4.2/library'
## will not be updated
## Warning: package 'MASS' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'Matrix' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'nlme' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'nnet' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'rpart' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'spatial' in library 'C:/Program Files/R/R-4.4.2/library' will
## not be updated
## Warning: package 'survival' in library 'C:/Program Files/R/R-4.4.2/library'
## will not be updated
## package 'readxl' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'readxl'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problem copying
## C:\Users\carlo\AppData\Local\R\win-library\4.4\00LOCK\readxl\libs\x64\readxl.dll
## to C:\Users\carlo\AppData\Local\R\win-library\4.4\readxl\libs\x64\readxl.dll:
## Permission denied
## Warning: restored 'readxl'
##
## The downloaded binary packages are in
## C:\Users\carlo\AppData\Local\Temp\RtmpOUqfvU\downloaded_packages
Membaca Dataset yang sudah di Download di Kaggle.
setwd("C:/Users/carlo/OneDrive/Documents/Tugas Kuliah/Probstat/Dataset")
data <- read_csv("mlbb.csv")
## Rows: 114 Columns: 18
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): Name, Title, Voice_Line, Release_Date, Primary_Role, Secondary_Rol...
## dbl (11): Hp, Hp_Regen, Mana, Mana_Regen, Phy_Damage, Mag_Damage, Phy_Defenc...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(data)
## # A tibble: 6 × 18
## Name Title Voice_Line Release_Date Primary_Role Secondary_Role Lane Hp
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl>
## 1 Aamon Duke … It is bet… 2021-10-25 Assassin <NA> Jung… 2614
## 2 Akai Panda… Now Akai … 2016 Tank Support Roam… 2769
## 3 Aldous Soul … Primary R… 2018 Fighter <NA> EXP … 2718
## 4 Alice Queen… Watch you… 2016 Mage Tank EXP … 2573
## 5 Alpha Blade… Test! Alp… 2017 Fighter <NA> EXP … 2646
## 6 Alucard Demon… Demons sh… 2016 Fighter Assassin Jung… 2621
## # ℹ 10 more variables: Hp_Regen <dbl>, Mana <dbl>, Mana_Regen <dbl>,
## # Phy_Damage <dbl>, Mag_Damage <dbl>, Phy_Defence <dbl>, Mag_Defence <dbl>,
## # Mov_Speed <dbl>, Esport_Wins <dbl>, Esport_Loss <dbl>
Menampilkan ringkasan Dataset
summary(data)
## Name Title Voice_Line Release_Date
## Length:114 Length:114 Length:114 Length:114
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## Primary_Role Secondary_Role Lane Hp
## Length:114 Length:114 Length:114 Min. : 918
## Class :character Class :character Class :character 1st Qu.:2501
## Mode :character Mode :character Mode :character Median :2573
## Mean :2578
## 3rd Qu.:2706
## Max. :2909
##
## Hp_Regen Mana Mana_Regen Phy_Damage Mag_Damage
## Min. : 3.800 Min. : 0.0 Min. : 0.00 Min. : 90.0 Min. :0
## 1st Qu.: 6.800 1st Qu.:100.0 1st Qu.: 4.00 1st Qu.:110.0 1st Qu.:0
## Median : 7.200 Median :436.5 Median : 15.00 Median :116.5 Median :0
## Mean : 7.698 Mean :339.4 Mean : 14.93 Mean :115.9 Mean :0
## 3rd Qu.: 8.000 3rd Qu.:490.0 3rd Qu.: 18.00 3rd Qu.:122.5 3rd Qu.:0
## Max. :18.400 Max. :750.0 Max. :240.00 Max. :140.0 Max. :0
## NA's :1
## Phy_Defence Mag_Defence Mov_Speed Esport_Wins
## Min. :10.0 Min. :10.00 Min. :240.0 Min. : 0.00
## 1st Qu.:17.0 1st Qu.:15.00 1st Qu.:240.0 1st Qu.: 68.25
## Median :19.0 Median :15.00 Median :251.0 Median : 226.50
## Mean :19.2 Mean :14.91 Mean :251.2 Mean : 289.86
## 3rd Qu.:22.0 3rd Qu.:15.00 3rd Qu.:260.0 3rd Qu.: 465.00
## Max. :27.0 Max. :15.00 Max. :270.0 Max. :1357.00
##
## Esport_Loss
## Min. : 3.00
## 1st Qu.: 71.75
## Median : 222.50
## Mean : 289.71
## 3rd Qu.: 457.75
## Max. :1529.00
##
Menampilkan jumlah role berdasarkan Parameter yang sudah diatur
data %>%
count(Primary_Role) %>%
ggplot(aes(x = "", y = n, fill = Primary_Role)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
theme_void() +
ggtitle("Distribusi Role Hero")
## Bar Chart
Menampilkan data menggunakan Bar Chart untuk Secondary Role
ggplot(data, aes(x = Secondary_Role, fill = Secondary_Role)) +
geom_bar() +
theme_minimal() +
ggtitle("Frekuensi Hero Berdasarkan Secondary Role")
## Histogram
Menampilkan Data Winrate menggunakan Histogram
ggplot(data, aes(x = Esport_Wins)) +
geom_histogram(bins = 30, fill = "steelblue", color = "black") +
ggtitle("Distribusi Winrate Esport")
## Density Plot
Menampilkan Data berbentuk Density Plot dari Dataset Esport_Wins dan Primary_Role
ggplot(data, aes(x = Esport_Wins, fill = Primary_Role)) +
geom_density(alpha = 0.5) +
ggtitle("Density Plot Winrate Primary Role")
## Boxplot
Menampilkan Data berbentuk Boxplot berdasarkan Esport_Wins dan Secondary_Role
ggplot(data, aes(x = Secondary_Role, y = Esport_Wins, fill = Secondary_Role)) +
geom_boxplot() +
ggtitle("Boxplot Winrate Secondary Role")
## Statistik Deskriptif
Menampilkan Data Statistik Deskriptif berupa Mean, Median, Q1, Q3, Range, Variance, SD
mean_winrate <- mean(data$Esport_Wins, na.rm = TRUE)
median_winrate <- median(data$Esport_Wins, na.rm = TRUE)
mode_winrate <- names(sort(table(data$Esport_Wins), decreasing = TRUE))[1]
q1 <- quantile(data$Esport_Wins, 0.25, na.rm = TRUE)
q3 <- quantile(data$Esport_Wins, 0.75, na.rm = TRUE)
range_winrate <- range(data$Esport_Wins, na.rm = TRUE)
variance_winrate <- var(data$Esport_Wins, na.rm = TRUE)
sd_winrate <- sd(data$Esport_Wins, na.rm = TRUE)
# Menampilkan hasil
list(
Mean = mean_winrate,
Median = median_winrate,
Mode = mode_winrate,
Q1 = q1,
Q3 = q3,
Range = range_winrate,
Variance = variance_winrate,
SD = sd_winrate
)
## $Mean
## [1] 289.8596
##
## $Median
## [1] 226.5
##
## $Mode
## [1] "95"
##
## $Q1
## 25%
## 68.25
##
## $Q3
## 75%
## 465
##
## $Range
## [1] 0 1357
##
## $Variance
## [1] 75824.33
##
## $SD
## [1] 275.3622