library (tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library (datasets)
#Menampilkan atau mengakses datasets
data ()
ls("package:datasets")
## [1] "ability.cov" "airmiles" "AirPassengers"
## [4] "airquality" "anscombe" "attenu"
## [7] "attitude" "austres" "beaver1"
## [10] "beaver2" "BJsales" "BJsales.lead"
## [13] "BOD" "cars" "ChickWeight"
## [16] "chickwts" "co2" "CO2"
## [19] "crimtab" "discoveries" "DNase"
## [22] "esoph" "euro" "euro.cross"
## [25] "eurodist" "EuStockMarkets" "faithful"
## [28] "fdeaths" "Formaldehyde" "freeny"
## [31] "freeny.x" "freeny.y" "HairEyeColor"
## [34] "Harman23.cor" "Harman74.cor" "Indometh"
## [37] "infert" "InsectSprays" "iris"
## [40] "iris3" "islands" "JohnsonJohnson"
## [43] "LakeHuron" "ldeaths" "lh"
## [46] "LifeCycleSavings" "Loblolly" "longley"
## [49] "lynx" "mdeaths" "morley"
## [52] "mtcars" "nhtemp" "Nile"
## [55] "nottem" "npk" "occupationalStatus"
## [58] "Orange" "OrchardSprays" "PlantGrowth"
## [61] "precip" "presidents" "pressure"
## [64] "Puromycin" "quakes" "randu"
## [67] "rivers" "rock" "Seatbelts"
## [70] "sleep" "stack.loss" "stack.x"
## [73] "stackloss" "state.abb" "state.area"
## [76] "state.center" "state.division" "state.name"
## [79] "state.region" "state.x77" "sunspot.month"
## [82] "sunspot.year" "sunspots" "swiss"
## [85] "Theoph" "Titanic" "ToothGrowth"
## [88] "treering" "trees" "UCBAdmissions"
## [91] "UKDriverDeaths" "UKgas" "USAccDeaths"
## [94] "USArrests" "UScitiesD" "USJudgeRatings"
## [97] "USPersonalExpenditure" "uspop" "VADeaths"
## [100] "volcano" "warpbreaks" "women"
## [103] "WorldPhones" "WWWusage"
#Menampilkan atau mengakses data PlantGrowth pada datasets
data (PlantGrowth)
view (PlantGrowth)
PlantGrowth <- tibble::as.tibble (PlantGrowth)
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` instead.
## ℹ The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
#Menampilkan tipe atau struktur data
class (PlantGrowth)
## [1] "tbl_df" "tbl" "data.frame"
#Melihat isi data
view (PlantGrowth)
head (PlantGrowth)
## # A tibble: 6 × 2
## weight group
## <dbl> <fct>
## 1 4.17 ctrl
## 2 5.58 ctrl
## 3 5.18 ctrl
## 4 6.11 ctrl
## 5 4.5 ctrl
## 6 4.61 ctrl
glimpse (PlantGrowth)
## Rows: 30
## Columns: 2
## $ weight <dbl> 4.17, 5.58, 5.18, 6.11, 4.50, 4.61, 5.17, 4.53, 5.33, 5.14, 4.8…
## $ group <fct> ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, trt…
#Mean : Menghitung rataan
##Menghitung rataan variabel weight seluruhnya
mean (PlantGrowth$weight)
## [1] 5.073
mean (PlantGrowth$weight) == PlantGrowth$weight %>% mean()
## [1] TRUE
#Summarize : Merangkum data
##Menghitung rataan variabel weight pada setiap group
PlantGrowth %>% group_by(group) %>% summarize(mean=mean(weight))
## # A tibble: 3 × 2
## group mean
## <fct> <dbl>
## 1 ctrl 5.03
## 2 trt1 4.66
## 3 trt2 5.53
#Arrange : Mengurutkan baris dalam sebuah dataframe berdasarkan nilai tertentu
##Mengurutkan berdasarkan variabel weight dari nilai terkecil
PlantGrowth %>% arrange (weight) %>% print (n=30)
## # A tibble: 30 × 2
## weight group
## <dbl> <fct>
## 1 3.59 trt1
## 2 3.83 trt1
## 3 4.17 ctrl
## 4 4.17 trt1
## 5 4.32 trt1
## 6 4.41 trt1
## 7 4.5 ctrl
## 8 4.53 ctrl
## 9 4.61 ctrl
## 10 4.69 trt1
## 11 4.81 trt1
## 12 4.89 trt1
## 13 4.92 trt2
## 14 5.12 trt2
## 15 5.14 ctrl
## 16 5.17 ctrl
## 17 5.18 ctrl
## 18 5.26 trt2
## 19 5.29 trt2
## 20 5.33 ctrl
## 21 5.37 trt2
## 22 5.5 trt2
## 23 5.54 trt2
## 24 5.58 ctrl
## 25 5.8 trt2
## 26 5.87 trt1
## 27 6.03 trt1
## 28 6.11 ctrl
## 29 6.15 trt2
## 30 6.31 trt2
##Mengurutkan berdasarkan variabel weight dari nilai terbesar
PlantGrowth %>% arrange (desc(weight)) %>% print (n=30)
## # A tibble: 30 × 2
## weight group
## <dbl> <fct>
## 1 6.31 trt2
## 2 6.15 trt2
## 3 6.11 ctrl
## 4 6.03 trt1
## 5 5.87 trt1
## 6 5.8 trt2
## 7 5.58 ctrl
## 8 5.54 trt2
## 9 5.5 trt2
## 10 5.37 trt2
## 11 5.33 ctrl
## 12 5.29 trt2
## 13 5.26 trt2
## 14 5.18 ctrl
## 15 5.17 ctrl
## 16 5.14 ctrl
## 17 5.12 trt2
## 18 4.92 trt2
## 19 4.89 trt1
## 20 4.81 trt1
## 21 4.69 trt1
## 22 4.61 ctrl
## 23 4.53 ctrl
## 24 4.5 ctrl
## 25 4.41 trt1
## 26 4.32 trt1
## 27 4.17 ctrl
## 28 4.17 trt1
## 29 3.83 trt1
## 30 3.59 trt1
#Filter : Memilih baris tertentu dari sebuah dataframe berdasarkan suatu kriteria tertentu
##Mengambil data dari group "ctrl"
PlantGrowth %>% filter(group == "ctrl")
## # A tibble: 10 × 2
## weight group
## <dbl> <fct>
## 1 4.17 ctrl
## 2 5.58 ctrl
## 3 5.18 ctrl
## 4 6.11 ctrl
## 5 4.5 ctrl
## 6 4.61 ctrl
## 7 5.17 ctrl
## 8 4.53 ctrl
## 9 5.33 ctrl
## 10 5.14 ctrl
#Select : Mengambil kolom (variabel) tertentu dari sebuah dataframe
##Mengambil variabel weight
PlantGrowth %>% select(weight) %>% print (n=30)
## # A tibble: 30 × 1
## weight
## <dbl>
## 1 4.17
## 2 5.58
## 3 5.18
## 4 6.11
## 5 4.5
## 6 4.61
## 7 5.17
## 8 4.53
## 9 5.33
## 10 5.14
## 11 4.81
## 12 4.17
## 13 4.41
## 14 3.59
## 15 5.87
## 16 3.83
## 17 6.03
## 18 4.89
## 19 4.32
## 20 4.69
## 21 6.31
## 22 5.12
## 23 5.54
## 24 5.5
## 25 5.37
## 26 5.29
## 27 4.92
## 28 6.15
## 29 5.8
## 30 5.26
##Menghapus variabel group
PlantGrowth %>% select(-group) %>% print (n=30)
## # A tibble: 30 × 1
## weight
## <dbl>
## 1 4.17
## 2 5.58
## 3 5.18
## 4 6.11
## 5 4.5
## 6 4.61
## 7 5.17
## 8 4.53
## 9 5.33
## 10 5.14
## 11 4.81
## 12 4.17
## 13 4.41
## 14 3.59
## 15 5.87
## 16 3.83
## 17 6.03
## 18 4.89
## 19 4.32
## 20 4.69
## 21 6.31
## 22 5.12
## 23 5.54
## 24 5.5
## 25 5.37
## 26 5.29
## 27 4.92
## 28 6.15
## 29 5.8
## 30 5.26
#Mutate : Menambahkan variabel baru
##Menambahkan variabel baru "weight_kg" yang menunjukkan berat tanaman dalam kilogram
PlantGrowth %>% mutate(weight_kg = weight / 1000) %>% print (n=30)
## # A tibble: 30 × 3
## weight group weight_kg
## <dbl> <fct> <dbl>
## 1 4.17 ctrl 0.00417
## 2 5.58 ctrl 0.00558
## 3 5.18 ctrl 0.00518
## 4 6.11 ctrl 0.00611
## 5 4.5 ctrl 0.0045
## 6 4.61 ctrl 0.00461
## 7 5.17 ctrl 0.00517
## 8 4.53 ctrl 0.00453
## 9 5.33 ctrl 0.00533
## 10 5.14 ctrl 0.00514
## 11 4.81 trt1 0.00481
## 12 4.17 trt1 0.00417
## 13 4.41 trt1 0.00441
## 14 3.59 trt1 0.00359
## 15 5.87 trt1 0.00587
## 16 3.83 trt1 0.00383
## 17 6.03 trt1 0.00603
## 18 4.89 trt1 0.00489
## 19 4.32 trt1 0.00432
## 20 4.69 trt1 0.00469
## 21 6.31 trt2 0.00631
## 22 5.12 trt2 0.00512
## 23 5.54 trt2 0.00554
## 24 5.5 trt2 0.0055
## 25 5.37 trt2 0.00537
## 26 5.29 trt2 0.00529
## 27 4.92 trt2 0.00492
## 28 6.15 trt2 0.00615
## 29 5.8 trt2 0.0058
## 30 5.26 trt2 0.00526
#Menggunakan fungsi mutate dan select secara bersamaan
NewPlantGrowth <- PlantGrowth %>% mutate(weight_kg = weight / 1000) %>% select(-weight) %>% print (n=30)
## # A tibble: 30 × 2
## group weight_kg
## <fct> <dbl>
## 1 ctrl 0.00417
## 2 ctrl 0.00558
## 3 ctrl 0.00518
## 4 ctrl 0.00611
## 5 ctrl 0.0045
## 6 ctrl 0.00461
## 7 ctrl 0.00517
## 8 ctrl 0.00453
## 9 ctrl 0.00533
## 10 ctrl 0.00514
## 11 trt1 0.00481
## 12 trt1 0.00417
## 13 trt1 0.00441
## 14 trt1 0.00359
## 15 trt1 0.00587
## 16 trt1 0.00383
## 17 trt1 0.00603
## 18 trt1 0.00489
## 19 trt1 0.00432
## 20 trt1 0.00469
## 21 trt2 0.00631
## 22 trt2 0.00512
## 23 trt2 0.00554
## 24 trt2 0.0055
## 25 trt2 0.00537
## 26 trt2 0.00529
## 27 trt2 0.00492
## 28 trt2 0.00615
## 29 trt2 0.0058
## 30 trt2 0.00526
NewPlantGrowth %>% print (n=30)
## # A tibble: 30 × 2
## group weight_kg
## <fct> <dbl>
## 1 ctrl 0.00417
## 2 ctrl 0.00558
## 3 ctrl 0.00518
## 4 ctrl 0.00611
## 5 ctrl 0.0045
## 6 ctrl 0.00461
## 7 ctrl 0.00517
## 8 ctrl 0.00453
## 9 ctrl 0.00533
## 10 ctrl 0.00514
## 11 trt1 0.00481
## 12 trt1 0.00417
## 13 trt1 0.00441
## 14 trt1 0.00359
## 15 trt1 0.00587
## 16 trt1 0.00383
## 17 trt1 0.00603
## 18 trt1 0.00489
## 19 trt1 0.00432
## 20 trt1 0.00469
## 21 trt2 0.00631
## 22 trt2 0.00512
## 23 trt2 0.00554
## 24 trt2 0.0055
## 25 trt2 0.00537
## 26 trt2 0.00529
## 27 trt2 0.00492
## 28 trt2 0.00615
## 29 trt2 0.0058
## 30 trt2 0.00526