Library Installation

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

Importing Dataset

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>

Summary

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  
## 

Pie Chart

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