#File Script

Digunakan untuk menuliskan script atau syntax. Untuk membuat script editor baru di Rstudio, dapat dilakukan dengan klik menu File >> New File >> R Script atau menggunakan fitur toolbar New File pada kiri atas. Penggunaan script dapat disesuaikan dengan kegunaan masing masing. Namun untuk melakukan Knit (menyimpan file) dan publish script hanya bisa digunakan dengan basic R Markdown.

#Opertasi Aritmatika Sederhana

#Fungsi pertambahan
6 + 2
## [1] 8
#Fungsi Pengurangan
7 - 8
## [1] -1
#Fungsi Pembagian
9 / 2
## [1] 4.5
#Fungsi Perkalian
6 * 2
## [1] 12
#Fungsi Kuadrat
12^2
## [1] 144
#Fungsi Akar
sqrt(121)
## [1] 11

#Assigment

Penggunaan tanda <- atau = di r digunakan sebagai simbol operator assigment. obj <- expr berarti memasukan nilai hasil dari operasi di sisi kanan (expr) kedalam objek sisi kiri (obj).

X <- 10
Y = 5

Dalam fungsi tersebut, kita memasukan nilai 10 kedalam objek Xdan memasukan nilai 5 dalam objek Y. Contoh lainnya

A <- 100 * 2

Artinya memasukan operasi 100 * 2 kedalam objek A. Untuk menampilkan atau mengeluarkan objek, cukup dengan menuliskan nama objek kemudian enter.

X
## [1] 10
Y
## [1] 5
A
## [1] 200

Atau menggunakan bantuan fungsi print()

print(X)
## [1] 10
print(Y)
## [1] 5
print(A)
## [1] 200

Berdasarkan syntax tersebut, dapat dilakukan juga operasi menggunakan assigment yang sudah dibentuk. Sebagai contoh, ingin mengetahui jumlah dari nilai X dan Y.

X + Y
## [1] 15
#atau mendeklarasikan suatu variabel baru
Z <- X + Y
Z
## [1] 15
#dapat ditulisakn juga dengan
Z <- X + Y; Z
## [1] 15
#atau
(Z <- X + Y)
## [1] 15

#Penamaan Objek

R sangat sensitif dalam penamaan objek maupun isi dari objek. Sehingga terdapat beberapa aturan penamaan yang harus dipenuhi :

  1. Menggunakan kombinasi alfabet (a-z, A-Z), angka (0-9), titik (.) atau underscore (_),
  2. Hanya dapat diawali oleh alfabet, titik atau underscore dan tidak boleh diawali dengan angka,
  3. Tidak mengandung spasi, tab atau karakter khusus seperti !, @, #,
  4. Sebaiknya tidak menggunakan penamaan atau nilai yang sudah digunakan oleh R, seperti c, df, rnorm dan lainnya.

Disarankan dalam pembuatan penamaan harus konsisten seperti :

  1. alllowercase: misal adjustcolor
  2. period.separated: misal plot.new
  3. underscore_separated: misal numeric_version
  4. lowerCamelCase: misal addTaskCallback
  5. UpperCamelCase: misal SignatureMethod

#Tipe Data

#Numeric
num <- 28; num 
## [1] 28
#Character
char <- "Kim"; char
## [1] "Kim"
#Logical
logic <- T; logic
## [1] TRUE

#Vector

Tipe sederhana dari objek data dalam R dimana setiap elemennya mempunyai mode yang sama

p <- c(1,2,3,4); p #numerik
## [1] 1 2 3 4
q <- c(5,6,7,8); q
## [1] 5 6 7 8
r <- c("a", "b", "c"); r #character
## [1] "a" "b" "c"
e <- 9:29; e #integer
##  [1]  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Dalam realisasinya, ketika memasukan objek dengan mode yang berbeda maka R akan mengkonversidata ke dalam mode yang paling sesuai. Contoh

h <- c(1, "a"); h #character
## [1] "1" "a"
i <- c(T, 2); i #numeric
## [1] 1 2
j <- c("a", F); j #character
## [1] "a"     "FALSE"
#fungsi seq() dan rep()
k <- seq(1,10); k #membuat vector dengan angka yang berurutan
##  [1]  1  2  3  4  5  6  7  8  9 10
l <- rep(1,10); l #membuat vector dengan pengulangan 1 sebanyak 10 kali
##  [1] 1 1 1 1 1 1 1 1 1 1

#Mengakses Elemen pada Vector

elemen pada vector dapat diakses melalui indeksnya dengan menggunakan operator [ ].

p <- c(1,2,3,4); p 
## [1] 1 2 3 4
p[1]
## [1] 1
p[c(2,3)]
## [1] 2 3
p[1:3]
## [1] 1 2 3

Tanda ',' digunakan untuk mengeluarkan elemen 2 dan 3 sedangkan tanda ':' digunakan untuk mengeluarkan elemen 1 hingga 3.

#Factor

Digunakan pada data kategorik. Fungsi ini masih tergolong sebagai vektor dengan adanya label pada setiap elemennya.

f <- factor(c("a", "b", "c")); f
## [1] a b c
## Levels: a b c

#Data Frame

Kumpulan dari berbagai data. Baris untuk observasi, Kolom untuk variabel. setiap elemen kolom mempunyai mode yang sama, tapi antar kolom boleh beda.

#membuat data frame dari variabel yang sudah ada
p <- c(1,2,3,4); p
## [1] 1 2 3 4
r <- c("a", "b", "c", "d"); r
## [1] "a" "b" "c" "d"
t <- cbind.data.frame(p,r); t
##   p r
## 1 1 a
## 2 2 b
## 3 3 c
## 4 4 d

Dari data frame t, terlihat bahwa p dan r memiliki mode yang berbeda sedangkan setiap variabel memiliki mode yang sama.

#membuat data frame baru
u <- data.frame(v = 1:4, w = c(T,T,T,T)); u
##   v    w
## 1 1 TRUE
## 2 2 TRUE
## 3 3 TRUE
## 4 4 TRUE
e <- data.frame(f = c(1,2,3,4,5), g = c("a","b","c","d","e")); e
##   f g
## 1 1 a
## 2 2 b
## 3 3 c
## 4 4 d
## 5 5 e

#Mengakses Elemen pada Data Frame

e[1] #memanggil kolom pertama
##   f
## 1 1
## 2 2
## 3 3
## 4 4
## 5 5
e[,1] #memanggil elemen pada kolom pertama
## [1] 1 2 3 4 5
e[1,] #memanggil baris pertama
##   f g
## 1 1 a
e[1,2] #memanggil elemen pada kolom pertama dan baris kedua
## [1] "a"
e[-1] #memanggil selain kolom pertama
##   g
## 1 a
## 2 b
## 3 c
## 4 d
## 5 e
e[-(2:4),] #memanggil selain baris 2 hingga 4
##   f g
## 1 1 a
## 5 5 e
e$f[2] #memanggil elemen kedua dari kolom f pada data e
## [1] 2

$ digunakan untuk melakukan pemilihan terhadap variabel dalam data.

#Input Data

  1. Secara manual menggunakan data frame

  2. Input data dari folder pribadi

    #Apabila data berupa csv
    csv <- read.csv("~/Downloads/Mandarel.csv", sep = ";"); csv
    ##    ID   NAME AGE CLASS SCORE
    ## 1   1   Alex  18     2     8
    ## 2   2  Cindy  20     4     9
    ## 3   3   Cici  25     5     7
    ## 4   4    Kim  23     1     8
    ## 5   5    Key  19     2     9
    ## 6   6    Lou  22     3     6
    ## 7   7    Geo  21     4     5
    ## 8   8    Jim  21     5    10
    ## 9   9 Shelly  24     1    10
    ## 10 10   Dino  23     2    10
    ## 11 11    Lim  22     3     9
    ## 12 12  Amber  19     4     9
    ## 13 13   Amel  18     5     9
    ## 14 14  Frank  19     1     8
    ## 15 15    Joe  20     2     7
    ## 16 16  Billy  20     3     7
    ## 17 17    Ray  22     4     3
    ## 18 18  Malik  21     5     6
    ## 19 19 Bieber  23     1     5
    ## 20 20 Hailey  25     2     8
    ## 21 21  Selen  20     3     8
    ## 22 22  Kitty  19     4     9
    ## 23 23  Kimmy  18     5    10
    ## 24 24    Dan  18     1     6
    ## 25 25  Kevin  20     2     5
    #Apabila data berupa excel
    library(readxl)
    xlx <- read_excel("~/Downloads/Mandarel2.xlsx"); xlx
    ## # A tibble: 25 × 5
    ##       ID NAME     AGE CLASS SCORE
    ##    <dbl> <chr>  <dbl> <dbl> <dbl>
    ##  1     1 Alex      18     2     8
    ##  2     2 Cindy     20     4     9
    ##  3     3 Cici      25     5     7
    ##  4     4 Kim       23     1     8
    ##  5     5 Key       19     2     9
    ##  6     6 Lou       22     3     6
    ##  7     7 Geo       21     4     5
    ##  8     8 Jim       21     5    10
    ##  9     9 Shelly    24     1    10
    ## 10    10 Dino      23     2    10
    ## # ℹ 15 more rows

    Pada data csv biasanya terdapat objek pemisah berupa ";" sehingga perlu ditambahkan fungsi sep = ";" sedangkan pada data xlsx diperlukan tambahan package library(readxl) untuk mengaktifkan fungsi read_excel. Untuk menggunakan library, maka diperlukan download terlebih dahulu dengan menggunakan syntax install.packages("readxl")

  3. Menggunakan data bawaan package di R

    library(Lahman)
    head(Teams) #menampilkan data awal, default 6
    ##   yearID lgID teamID franchID divID Rank  G Ghome  W  L DivWin WCWin LgWin
    ## 1   1871   NA    BS1      BNA  <NA>    3 31    NA 20 10   <NA>  <NA>     N
    ## 2   1871   NA    CH1      CNA  <NA>    2 28    NA 19  9   <NA>  <NA>     N
    ## 3   1871   NA    CL1      CFC  <NA>    8 29    NA 10 19   <NA>  <NA>     N
    ## 4   1871   NA    FW1      KEK  <NA>    7 19    NA  7 12   <NA>  <NA>     N
    ## 5   1871   NA    NY2      NNA  <NA>    5 33    NA 16 17   <NA>  <NA>     N
    ## 6   1871   NA    PH1      PNA  <NA>    1 28    NA 21  7   <NA>  <NA>     Y
    ##   WSWin   R   AB   H X2B X3B HR BB SO SB CS HBP SF  RA  ER  ERA CG SHO SV
    ## 1  <NA> 401 1372 426  70  37  3 60 19 73 16  NA NA 303 109 3.55 22   1  3
    ## 2  <NA> 302 1196 323  52  21 10 60 22 69 21  NA NA 241  77 2.76 25   0  1
    ## 3  <NA> 249 1186 328  35  40  7 26 25 18  8  NA NA 341 116 4.11 23   0  0
    ## 4  <NA> 137  746 178  19   8  2 33  9 16  4  NA NA 243  97 5.17 19   1  0
    ## 5  <NA> 302 1404 403  43  21  1 33 15 46 15  NA NA 313 121 3.72 32   1  0
    ## 6  <NA> 376 1281 410  66  27  9 46 23 56 12  NA NA 266 137 4.95 27   0  0
    ##   IPouts  HA HRA BBA SOA   E DP    FP                    name
    ## 1    828 367   2  42  23 243 24 0.834    Boston Red Stockings
    ## 2    753 308   6  28  22 229 16 0.829 Chicago White Stockings
    ## 3    762 346  13  53  34 234 15 0.818  Cleveland Forest Citys
    ## 4    507 261   5  21  17 163  8 0.803    Fort Wayne Kekiongas
    ## 5    879 373   7  42  22 235 14 0.840        New York Mutuals
    ## 6    747 329   3  53  16 194 13 0.845  Philadelphia Athletics
    ##                           park attendance BPF PPF teamIDBR teamIDlahman45
    ## 1          South End Grounds I         NA 103  98      BOS            BS1
    ## 2      Union Base-Ball Grounds         NA 104 102      CHI            CH1
    ## 3 National Association Grounds         NA  96 100      CLE            CL1
    ## 4               Hamilton Field         NA 101 107      KEK            FW1
    ## 5     Union Grounds (Brooklyn)         NA  90  88      NYU            NY2
    ## 6     Jefferson Street Grounds         NA 102  98      ATH            PH1
    ##   teamIDretro
    ## 1         BS1
    ## 2         CH1
    ## 3         CL1
    ## 4         FW1
    ## 5         NY2
    ## 6         PH1
    head(Teams, 10) #menampilkan 10 data awal
    ##    yearID lgID teamID franchID divID Rank  G Ghome  W  L DivWin WCWin LgWin
    ## 1    1871   NA    BS1      BNA  <NA>    3 31    NA 20 10   <NA>  <NA>     N
    ## 2    1871   NA    CH1      CNA  <NA>    2 28    NA 19  9   <NA>  <NA>     N
    ## 3    1871   NA    CL1      CFC  <NA>    8 29    NA 10 19   <NA>  <NA>     N
    ## 4    1871   NA    FW1      KEK  <NA>    7 19    NA  7 12   <NA>  <NA>     N
    ## 5    1871   NA    NY2      NNA  <NA>    5 33    NA 16 17   <NA>  <NA>     N
    ## 6    1871   NA    PH1      PNA  <NA>    1 28    NA 21  7   <NA>  <NA>     Y
    ## 7    1871   NA    RC1      ROK  <NA>    9 25    NA  4 21   <NA>  <NA>     N
    ## 8    1871   NA    TRO      TRO  <NA>    6 29    NA 13 15   <NA>  <NA>     N
    ## 9    1871   NA    WS3      OLY  <NA>    4 32    NA 15 15   <NA>  <NA>     N
    ## 10   1872   NA    BL1      BLC  <NA>    2 58    NA 35 19   <NA>  <NA>     N
    ##    WSWin   R   AB   H X2B X3B HR BB SO SB CS HBP SF  RA  ER  ERA CG SHO SV
    ## 1   <NA> 401 1372 426  70  37  3 60 19 73 16  NA NA 303 109 3.55 22   1  3
    ## 2   <NA> 302 1196 323  52  21 10 60 22 69 21  NA NA 241  77 2.76 25   0  1
    ## 3   <NA> 249 1186 328  35  40  7 26 25 18  8  NA NA 341 116 4.11 23   0  0
    ## 4   <NA> 137  746 178  19   8  2 33  9 16  4  NA NA 243  97 5.17 19   1  0
    ## 5   <NA> 302 1404 403  43  21  1 33 15 46 15  NA NA 313 121 3.72 32   1  0
    ## 6   <NA> 376 1281 410  66  27  9 46 23 56 12  NA NA 266 137 4.95 27   0  0
    ## 7   <NA> 231 1036 274  44  25  3 38 30 53 10  NA NA 287 108 4.30 23   1  0
    ## 8   <NA> 351 1248 384  51  34  6 49 19 62 24  NA NA 362 153 5.51 28   0  0
    ## 9   <NA> 310 1353 375  54  26  6 48 13 48 13  NA NA 303 137 4.37 32   0  0
    ## 10  <NA> 617 2571 753 106  31 14 29 28 53 18  NA NA 434 166 2.90 48   1  1
    ##    IPouts  HA HRA BBA SOA   E DP    FP                    name
    ## 1     828 367   2  42  23 243 24 0.834    Boston Red Stockings
    ## 2     753 308   6  28  22 229 16 0.829 Chicago White Stockings
    ## 3     762 346  13  53  34 234 15 0.818  Cleveland Forest Citys
    ## 4     507 261   5  21  17 163  8 0.803    Fort Wayne Kekiongas
    ## 5     879 373   7  42  22 235 14 0.840        New York Mutuals
    ## 6     747 329   3  53  16 194 13 0.845  Philadelphia Athletics
    ## 7     678 315   3  34  16 220 14 0.821   Rockford Forest Citys
    ## 8     750 431   4  75  12 198 22 0.845          Troy Haymakers
    ## 9     846 371   4  45  13 218 20 0.850     Washington Olympics
    ## 10   1548 573   3  63  77 432 22 0.830      Baltimore Canaries
    ##                                 park attendance BPF PPF teamIDBR teamIDlahman45
    ## 1                South End Grounds I         NA 103  98      BOS            BS1
    ## 2            Union Base-Ball Grounds         NA 104 102      CHI            CH1
    ## 3       National Association Grounds         NA  96 100      CLE            CL1
    ## 4                     Hamilton Field         NA 101 107      KEK            FW1
    ## 5           Union Grounds (Brooklyn)         NA  90  88      NYU            NY2
    ## 6           Jefferson Street Grounds         NA 102  98      ATH            PH1
    ## 7  Agricultural Society Fair Grounds         NA  97  99      ROK            RC1
    ## 8                 Haymakers' Grounds         NA 101 100      TRO            TRO
    ## 9                   Olympics Grounds         NA  94  98      OLY            WS3
    ## 10                    Newington Park         NA 106 102      BAL            BL1
    ##    teamIDretro
    ## 1          BS1
    ## 2          CH1
    ## 3          CL1
    ## 4          FW1
    ## 5          NY2
    ## 6          PH1
    ## 7          RC1
    ## 8          TRO
    ## 9          WS3
    ## 10         BL1
    tail(Teams) #menampilkan data akhir, default 6 
    ##      yearID lgID teamID franchID divID Rank   G Ghome  W   L DivWin WCWin LgWin
    ## 3010   2022   NL    SFN      SFG     W    3 162    81 81  81      N     N     N
    ## 3011   2022   NL    SLN      STL     C    1 162    81 93  69      Y     N     N
    ## 3012   2022   AL    TBA      TBD     E    1 162    81 86  76      N     Y     N
    ## 3013   2022   AL    TEX      TEX     W    4 162    81 68  94      N     N     N
    ## 3014   2022   AL    TOR      TOR     E    2 162    81 92  70      N     Y     N
    ## 3015   2022   NL    WAS      WSN     E    5 162    81 55 107      N     N     N
    ##      WSWin   R   AB    H X2B X3B  HR  BB   SO  SB CS HBP SF  RA  ER  ERA CG SHO
    ## 3010     N 716 5392 1261 255  18 183 571 1462  64 16  95 53 697 613 3.85  1   8
    ## 3011     N 772 5496 1386 290  21 197 537 1226  95 25  80 45 637 605 3.79  3  17
    ## 3012     N 666 5412 1294 296  17 139 500 1395  95 37  57 31 614 544 3.41  0  10
    ## 3013     N 707 5478 1308 224  20 198 456 1446 128 41  47 38 743 673 4.22  1  10
    ## 3014     N 775 5555 1464 307  12 200 500 1242  67 35  55 33 679 620 3.87  0  10
    ## 3015     N 603 5434 1351 252  20 136 442 1221  75 31  60 37 855 785 5.00  2   4
    ##      SV IPouts   HA HRA BBA  SOA   E  DP    FP                 name
    ## 3010 39   4299 1397 132 441 1370 100 130 0.983 San Francisco Giants
    ## 3011 37   4307 1335 146 489 1177  66 181 0.989  St. Louis Cardinals
    ## 3012 44   4307 1260 172 384 1384  84 110 0.985       Tampa Bay Rays
    ## 3013 37   4305 1345 169 581 1314  96 143 0.984        Texas Rangers
    ## 3014 46   4324 1356 180 424 1390  82 120 0.986    Toronto Blue Jays
    ## 3015 28   4235 1469 244 558 1220 104 126 0.982 Washington Nationals
    ##                   park attendance BPF PPF teamIDBR teamIDlahman45 teamIDretro
    ## 3010       Oracle Park    2482686  99  99      SFG            SFN         SFN
    ## 3011 Busch Stadium III    3320551  94  94      STL            SLN         SLN
    ## 3012   Tropicana Field    1128127  95  93      TBR            TBA         TBA
    ## 3013  Globe Life Field    2011361 100 101      TEX            TEX         TEX
    ## 3014     Rogers Centre    2653830 100 100      TOR            TOR         TOR
    ## 3015    Nationals Park    2026401  94  96      WSN            MON         WAS

#Inspeksi Data Frame

nrow(Teams) #menghitung jumlah baris
## [1] 3015
ncol(Teams) #menghitung jumlah kolom
## [1] 48
dim(Teams) #menghitung dimensi
## [1] 3015   48
summary(Teams) #menghitung statistik ringkasan
##      yearID     lgID          teamID        franchID       divID          
##  Min.   :1871   AA:  85   CHN    : 147   ATL    : 147   Length:3015       
##  1st Qu.:1923   AL:1310   PHI    : 140   CHC    : 147   Class :character  
##  Median :1968   FL:  16   PIT    : 136   CIN    : 141   Mode  :character  
##  Mean   :1959   NA:  50   CIN    : 133   PIT    : 141                     
##  3rd Qu.:1997   NL:1534   SLN    : 131   STL    : 141                     
##  Max.   :2022   PL:   8   BOS    : 122   PHI    : 140                     
##                 UA:  12   (Other):2206   (Other):2158                     
##       Rank              G             Ghome             W         
##  Min.   : 1.000   Min.   :  6.0   Min.   :24.00   Min.   :  0.00  
##  1st Qu.: 2.000   1st Qu.:154.0   1st Qu.:77.00   1st Qu.: 66.00  
##  Median : 4.000   Median :159.0   Median :81.00   Median : 77.00  
##  Mean   : 4.028   Mean   :150.1   Mean   :78.08   Mean   : 74.67  
##  3rd Qu.: 6.000   3rd Qu.:162.0   3rd Qu.:81.00   3rd Qu.: 87.00  
##  Max.   :13.000   Max.   :165.0   Max.   :84.00   Max.   :116.00  
##                                   NA's   :399                     
##        L             DivWin             WCWin              LgWin          
##  Min.   :  4.00   Length:3015        Length:3015        Length:3015       
##  1st Qu.: 65.00   Class :character   Class :character   Class :character  
##  Median : 76.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 74.67                                                           
##  3rd Qu.: 87.00                                                           
##  Max.   :134.00                                                           
##                                                                           
##     WSWin                 R                AB             H       
##  Length:3015        Min.   :  24.0   Min.   : 211   Min.   :  33  
##  Class :character   1st Qu.: 614.0   1st Qu.:5142   1st Qu.:1297  
##  Mode  :character   Median : 691.0   Median :5405   Median :1389  
##                     Mean   : 681.2   Mean   :5132   Mean   :1339  
##                     3rd Qu.: 764.0   3rd Qu.:5519   3rd Qu.:1464  
##                     Max.   :1220.0   Max.   :5781   Max.   :1783  
##                                                                   
##       X2B           X3B               HR              BB       
##  Min.   :  1   Min.   :  0.00   Min.   :  0.0   Min.   :  0.0  
##  1st Qu.:195   1st Qu.: 29.00   1st Qu.: 47.0   1st Qu.:427.0  
##  Median :234   Median : 40.00   Median :111.0   Median :494.0  
##  Mean   :229   Mean   : 45.43   Mean   :106.5   Mean   :473.6  
##  3rd Qu.:272   3rd Qu.: 58.00   3rd Qu.:156.0   3rd Qu.:554.0  
##  Max.   :376   Max.   :150.00   Max.   :307.0   Max.   :835.0  
##                                                                
##        SO               SB              CS              HBP        
##  Min.   :   3.0   Min.   :  0.0   Min.   :  0.00   Min.   :  7.00  
##  1st Qu.: 517.0   1st Qu.: 62.0   1st Qu.: 32.75   1st Qu.: 32.00  
##  Median : 766.0   Median : 92.0   Median : 43.00   Median : 44.00  
##  Mean   : 768.1   Mean   :109.1   Mean   : 46.26   Mean   : 46.18  
##  3rd Qu.:1000.0   3rd Qu.:137.0   3rd Qu.: 56.00   3rd Qu.: 58.00  
##  Max.   :1596.0   Max.   :581.0   Max.   :191.00   Max.   :160.00  
##  NA's   :16       NA's   :125     NA's   :831      NA's   :1158    
##        SF              RA               ER            ERA       
##  Min.   : 7.00   Min.   :  34.0   Min.   :  23   Min.   :1.220  
##  1st Qu.:38.00   1st Qu.: 610.5   1st Qu.: 504   1st Qu.:3.370  
##  Median :44.00   Median : 689.0   Median : 595   Median :3.840  
##  Mean   :44.04   Mean   : 681.2   Mean   : 574   Mean   :3.842  
##  3rd Qu.:50.00   3rd Qu.: 766.0   3rd Qu.: 672   3rd Qu.:4.330  
##  Max.   :77.00   Max.   :1252.0   Max.   :1023   Max.   :8.000  
##  NA's   :1541                                                   
##        CG              SHO               SV            IPouts    
##  Min.   :  0.00   Min.   : 0.000   Min.   : 0.00   Min.   : 162  
##  1st Qu.:  9.00   1st Qu.: 6.000   1st Qu.:10.00   1st Qu.:4080  
##  Median : 41.00   Median : 9.000   Median :25.00   Median :4257  
##  Mean   : 47.08   Mean   : 9.634   Mean   :24.59   Mean   :4016  
##  3rd Qu.: 75.00   3rd Qu.:13.000   3rd Qu.:39.00   3rd Qu.:4341  
##  Max.   :148.00   Max.   :32.000   Max.   :68.00   Max.   :4518  
##                                                                  
##        HA            HRA             BBA             SOA        
##  Min.   :  49   Min.   :  0.0   Min.   :  1.0   Min.   :   0.0  
##  1st Qu.:1286   1st Qu.: 52.0   1st Qu.:429.5   1st Qu.: 513.0  
##  Median :1389   Median :114.0   Median :496.0   Median : 767.0  
##  Mean   :1339   Mean   :106.5   Mean   :474.0   Mean   : 767.5  
##  3rd Qu.:1468   3rd Qu.:154.0   3rd Qu.:553.5   3rd Qu.:1002.0  
##  Max.   :1993   Max.   :305.0   Max.   :827.0   Max.   :1687.0  
##                                                                 
##        E               DP              FP             name          
##  Min.   : 20.0   Min.   :  0.0   Min.   :0.7610   Length:3015       
##  1st Qu.:110.0   1st Qu.:116.0   1st Qu.:0.9660   Class :character  
##  Median :141.0   Median :140.0   Median :0.9770   Mode  :character  
##  Mean   :179.8   Mean   :132.6   Mean   :0.9665                     
##  3rd Qu.:205.0   3rd Qu.:156.0   3rd Qu.:0.9810                     
##  Max.   :639.0   Max.   :217.0   Max.   :0.9910                     
##                                                                     
##      park             attendance           BPF             PPF       
##  Length:3015        Min.   :      0   Min.   : 60.0   Min.   : 60.0  
##  Class :character   1st Qu.: 544782   1st Qu.: 97.0   1st Qu.: 97.0  
##  Mode  :character   Median :1203014   Median :100.0   Median :100.0  
##                     Mean   :1385100   Mean   :100.2   Mean   :100.2  
##                     3rd Qu.:2080399   3rd Qu.:103.0   3rd Qu.:103.0  
##                     Max.   :4483350   Max.   :129.0   Max.   :141.0  
##                     NA's   :279                                      
##    teamIDBR         teamIDlahman45     teamIDretro       
##  Length:3015        Length:3015        Length:3015       
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character  
##                                                          
##                                                          
##                                                          
## 
str(Teams) #melihat struktur data
## 'data.frame':    3015 obs. of  48 variables:
##  $ yearID        : int  1871 1871 1871 1871 1871 1871 1871 1871 1871 1872 ...
##  $ lgID          : Factor w/ 7 levels "AA","AL","FL",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ teamID        : Factor w/ 149 levels "ALT","ANA","ARI",..: 24 31 39 56 90 97 111 136 142 8 ...
##  $ franchID      : Factor w/ 120 levels "ALT","ANA","ARI",..: 13 36 25 56 70 85 91 109 77 9 ...
##  $ divID         : chr  NA NA NA NA ...
##  $ Rank          : int  3 2 8 7 5 1 9 6 4 2 ...
##  $ G             : int  31 28 29 19 33 28 25 29 32 58 ...
##  $ Ghome         : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ W             : int  20 19 10 7 16 21 4 13 15 35 ...
##  $ L             : int  10 9 19 12 17 7 21 15 15 19 ...
##  $ DivWin        : chr  NA NA NA NA ...
##  $ WCWin         : chr  NA NA NA NA ...
##  $ LgWin         : chr  "N" "N" "N" "N" ...
##  $ WSWin         : chr  NA NA NA NA ...
##  $ R             : int  401 302 249 137 302 376 231 351 310 617 ...
##  $ AB            : int  1372 1196 1186 746 1404 1281 1036 1248 1353 2571 ...
##  $ H             : int  426 323 328 178 403 410 274 384 375 753 ...
##  $ X2B           : int  70 52 35 19 43 66 44 51 54 106 ...
##  $ X3B           : int  37 21 40 8 21 27 25 34 26 31 ...
##  $ HR            : int  3 10 7 2 1 9 3 6 6 14 ...
##  $ BB            : int  60 60 26 33 33 46 38 49 48 29 ...
##  $ SO            : int  19 22 25 9 15 23 30 19 13 28 ...
##  $ SB            : int  73 69 18 16 46 56 53 62 48 53 ...
##  $ CS            : int  16 21 8 4 15 12 10 24 13 18 ...
##  $ HBP           : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ SF            : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ RA            : int  303 241 341 243 313 266 287 362 303 434 ...
##  $ ER            : int  109 77 116 97 121 137 108 153 137 166 ...
##  $ ERA           : num  3.55 2.76 4.11 5.17 3.72 4.95 4.3 5.51 4.37 2.9 ...
##  $ CG            : int  22 25 23 19 32 27 23 28 32 48 ...
##  $ SHO           : int  1 0 0 1 1 0 1 0 0 1 ...
##  $ SV            : int  3 1 0 0 0 0 0 0 0 1 ...
##  $ IPouts        : int  828 753 762 507 879 747 678 750 846 1548 ...
##  $ HA            : int  367 308 346 261 373 329 315 431 371 573 ...
##  $ HRA           : int  2 6 13 5 7 3 3 4 4 3 ...
##  $ BBA           : int  42 28 53 21 42 53 34 75 45 63 ...
##  $ SOA           : int  23 22 34 17 22 16 16 12 13 77 ...
##  $ E             : int  243 229 234 163 235 194 220 198 218 432 ...
##  $ DP            : int  24 16 15 8 14 13 14 22 20 22 ...
##  $ FP            : num  0.834 0.829 0.818 0.803 0.84 0.845 0.821 0.845 0.85 0.83 ...
##  $ name          : chr  "Boston Red Stockings" "Chicago White Stockings" "Cleveland Forest Citys" "Fort Wayne Kekiongas" ...
##  $ park          : chr  "South End Grounds I" "Union Base-Ball Grounds" "National Association Grounds" "Hamilton Field" ...
##  $ attendance    : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ BPF           : int  103 104 96 101 90 102 97 101 94 106 ...
##  $ PPF           : int  98 102 100 107 88 98 99 100 98 102 ...
##  $ teamIDBR      : chr  "BOS" "CHI" "CLE" "KEK" ...
##  $ teamIDlahman45: chr  "BS1" "CH1" "CL1" "FW1" ...
##  $ teamIDretro   : chr  "BS1" "CH1" "CL1" "FW1" ...

#Statistik Deskriptif

statistika deskriptif hanya bisa pada data numerik, sehingga untuk menggunakan data csv maka kolom nama (karakter) harus dihapus.

CSV <- csv[-2] #menghilangkan kolom nama
sum(CSV)
## [1] 1110
sum(CSV$SCORE) #total nilai dari data CSV
## [1] 191
sd(CSV$AGE)
## [1] 2.160247
median(CSV$SCORE)
## [1] 8
min(CSV$SCORE)
## [1] 3
max(CSV$SCORE)
## [1] 10

#Membuat Plot

hist(CSV$SCORE, main="Plot Histogram", col = "yellow")

boxplot(CSV, main="Plot Boxplot", col="red")

cor(CSV)
##                ID        AGE       CLASS       SCORE
## ID     1.00000000 -0.2201398 -0.05050763 -0.25756354
## AGE   -0.22013982  1.0000000 -0.14824986 -0.13060463
## CLASS -0.05050763 -0.1482499  1.00000000  0.08531433
## SCORE -0.25756354 -0.1306046  0.08531433  1.00000000

#Menyimpan Data

#Untuk .csv
write.csv(e, "datacontoh.csv", row.names = F)
#Untuk .xlsx
library(openxlsx)
write.xlsx(e, "datacontoh2.xlsx", sheetName = "data1", rowNames=F)

fungsi row.names atau rowNames berfungsi agar ketika proses penyimpanan tidak ada kolom tambahan ketika proses penyimpanan.

#Tugas

Bentuk 1 buah data (bebas) berisi 5 kolom dan 5 baris kemudian buatkan plot serta hitung korelasinya. Kemudian upload hasil pada rpubs yang sudah dibentuk.