Library yang digunakan dan yang perlu diinstal

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.2
## Warning: package 'readr' was built under R version 4.4.2
## Warning: package 'dplyr' was built under R version 4.4.2
## Warning: package 'forcats' was built under R version 4.4.2
## Warning: package 'lubridate' was built under R version 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ 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
?tidyverse
## starting httpd help server ... done
install.packages("dplyr")
## Warning: package 'dplyr' is in use and will not be installed
library(dplyr)

1. Mencari Dataset selain iris

Dataset ini menggunakan dataset bawaan yang sudah ada di R

library(datasets)
data(mtcars)
mtcars <- tibble::as.tibble(mtcars)
## 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.

2. Praktikkan penggunaan fungsi summarise(), arrange(), filter(), mutate(), select(), minimal 1 kali setiap fungsi pada datasets yang dipilih

Summarise()

mtcars %>% group_by(gear) %>% summarize (mean=mean(hp))
## # A tibble: 3 × 2
##    gear  mean
##   <dbl> <dbl>
## 1     3 176. 
## 2     4  89.5
## 3     5 196.

Arrange()

mtcars %>% arrange (qsec)
## # A tibble: 32 × 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  15.8     8 351     264  4.22  3.17  14.5     0     1     5     4
##  2  15       8 301     335  3.54  3.57  14.6     0     1     5     8
##  3  13.3     8 350     245  3.73  3.84  15.4     0     0     3     4
##  4  19.7     6 145     175  3.62  2.77  15.5     0     1     5     6
##  5  14.3     8 360     245  3.21  3.57  15.8     0     0     3     4
##  6  21       6 160     110  3.9   2.62  16.5     0     1     4     4
##  7  26       4 120.     91  4.43  2.14  16.7     0     1     5     2
##  8  15.5     8 318     150  2.76  3.52  16.9     0     0     3     2
##  9  30.4     4  95.1   113  3.77  1.51  16.9     1     1     5     2
## 10  21       6 160     110  3.9   2.88  17.0     0     1     4     4
## # ℹ 22 more rows
mtcars %>% arrange(desc(qsec))
## # A tibble: 32 × 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  22.8     4 141.     95  3.92  3.15  22.9     1     0     4     2
##  2  18.1     6 225     105  2.76  3.46  20.2     1     0     3     1
##  3  21.5     4 120.     97  3.7   2.46  20.0     1     0     3     1
##  4  24.4     4 147.     62  3.69  3.19  20       1     0     4     2
##  5  33.9     4  71.1    65  4.22  1.84  19.9     1     1     4     1
##  6  32.4     4  78.7    66  4.08  2.2   19.5     1     1     4     1
##  7  21.4     6 258     110  3.08  3.22  19.4     1     0     3     1
##  8  17.8     6 168.    123  3.92  3.44  18.9     1     0     4     4
##  9  27.3     4  79      66  4.08  1.94  18.9     1     1     4     1
## 10  22.8     4 108      93  3.85  2.32  18.6     1     1     4     1
## # ℹ 22 more rows

Filter()

filtered_mtcars <- filter(mtcars, drat > 3.5)
filtered_mtcars
## # A tibble: 19 × 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  21       6 160     110  3.9   2.62  16.5     0     1     4     4
##  2  21       6 160     110  3.9   2.88  17.0     0     1     4     4
##  3  22.8     4 108      93  3.85  2.32  18.6     1     1     4     1
##  4  24.4     4 147.     62  3.69  3.19  20       1     0     4     2
##  5  22.8     4 141.     95  3.92  3.15  22.9     1     0     4     2
##  6  19.2     6 168.    123  3.92  3.44  18.3     1     0     4     4
##  7  17.8     6 168.    123  3.92  3.44  18.9     1     0     4     4
##  8  32.4     4  78.7    66  4.08  2.2   19.5     1     1     4     1
##  9  30.4     4  75.7    52  4.93  1.62  18.5     1     1     4     2
## 10  33.9     4  71.1    65  4.22  1.84  19.9     1     1     4     1
## 11  21.5     4 120.     97  3.7   2.46  20.0     1     0     3     1
## 12  13.3     8 350     245  3.73  3.84  15.4     0     0     3     4
## 13  27.3     4  79      66  4.08  1.94  18.9     1     1     4     1
## 14  26       4 120.     91  4.43  2.14  16.7     0     1     5     2
## 15  30.4     4  95.1   113  3.77  1.51  16.9     1     1     5     2
## 16  15.8     8 351     264  4.22  3.17  14.5     0     1     5     4
## 17  19.7     6 145     175  3.62  2.77  15.5     0     1     5     6
## 18  15       8 301     335  3.54  3.57  14.6     0     1     5     8
## 19  21.4     4 121     109  4.11  2.78  18.6     1     1     4     2
mtcars %>% filter(vs==0)
## # A tibble: 18 × 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  21       6  160    110  3.9   2.62  16.5     0     1     4     4
##  2  21       6  160    110  3.9   2.88  17.0     0     1     4     4
##  3  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2
##  4  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4
##  5  16.4     8  276.   180  3.07  4.07  17.4     0     0     3     3
##  6  17.3     8  276.   180  3.07  3.73  17.6     0     0     3     3
##  7  15.2     8  276.   180  3.07  3.78  18       0     0     3     3
##  8  10.4     8  472    205  2.93  5.25  18.0     0     0     3     4
##  9  10.4     8  460    215  3     5.42  17.8     0     0     3     4
## 10  14.7     8  440    230  3.23  5.34  17.4     0     0     3     4
## 11  15.5     8  318    150  2.76  3.52  16.9     0     0     3     2
## 12  15.2     8  304    150  3.15  3.44  17.3     0     0     3     2
## 13  13.3     8  350    245  3.73  3.84  15.4     0     0     3     4
## 14  19.2     8  400    175  3.08  3.84  17.0     0     0     3     2
## 15  26       4  120.    91  4.43  2.14  16.7     0     1     5     2
## 16  15.8     8  351    264  4.22  3.17  14.5     0     1     5     4
## 17  19.7     6  145    175  3.62  2.77  15.5     0     1     5     6
## 18  15       8  301    335  3.54  3.57  14.6     0     1     5     8

Mutate()

mtcarsbaru <- mtcars %>% select(-cyl, -hp,) %>% mutate(New.Data=drat+wt)
mtcarsbaru
## # A tibble: 32 × 10
##      mpg  disp  drat    wt  qsec    vs    am  gear  carb New.Data
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>    <dbl>
##  1  21    160   3.9   2.62  16.5     0     1     4     4     6.52
##  2  21    160   3.9   2.88  17.0     0     1     4     4     6.78
##  3  22.8  108   3.85  2.32  18.6     1     1     4     1     6.17
##  4  21.4  258   3.08  3.22  19.4     1     0     3     1     6.30
##  5  18.7  360   3.15  3.44  17.0     0     0     3     2     6.59
##  6  18.1  225   2.76  3.46  20.2     1     0     3     1     6.22
##  7  14.3  360   3.21  3.57  15.8     0     0     3     4     6.78
##  8  24.4  147.  3.69  3.19  20       1     0     4     2     6.88
##  9  22.8  141.  3.92  3.15  22.9     1     0     4     2     7.07
## 10  19.2  168.  3.92  3.44  18.3     1     0     4     4     7.36
## # ℹ 22 more rows

Select()

mtcars %>% select(cyl,hp,vs,am,gear)
## # A tibble: 32 × 5
##      cyl    hp    vs    am  gear
##    <dbl> <dbl> <dbl> <dbl> <dbl>
##  1     6   110     0     1     4
##  2     6   110     0     1     4
##  3     4    93     1     1     4
##  4     6   110     1     0     3
##  5     8   175     0     0     3
##  6     6   105     1     0     3
##  7     8   245     0     0     3
##  8     4    62     1     0     4
##  9     4    95     1     0     4
## 10     6   123     1     0     4
## # ℹ 22 more rows
mtcars %>% select(-cyl,-hp,-drat)
## # A tibble: 32 × 8
##      mpg  disp    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  21    160   2.62  16.5     0     1     4     4
##  2  21    160   2.88  17.0     0     1     4     4
##  3  22.8  108   2.32  18.6     1     1     4     1
##  4  21.4  258   3.22  19.4     1     0     3     1
##  5  18.7  360   3.44  17.0     0     0     3     2
##  6  18.1  225   3.46  20.2     1     0     3     1
##  7  14.3  360   3.57  15.8     0     0     3     4
##  8  24.4  147.  3.19  20       1     0     4     2
##  9  22.8  141.  3.15  22.9     1     0     4     2
## 10  19.2  168.  3.44  18.3     1     0     4     4
## # ℹ 22 more rows

3. Praktikkan penggunaan 2 fungsi secara bersama

result1 <- mtcars %>%
  filter(drat > 3.5) %>%
  arrange(desc(drat))
result1
## # A tibble: 19 × 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  30.4     4  75.7    52  4.93  1.62  18.5     1     1     4     2
##  2  26       4 120.     91  4.43  2.14  16.7     0     1     5     2
##  3  33.9     4  71.1    65  4.22  1.84  19.9     1     1     4     1
##  4  15.8     8 351     264  4.22  3.17  14.5     0     1     5     4
##  5  21.4     4 121     109  4.11  2.78  18.6     1     1     4     2
##  6  32.4     4  78.7    66  4.08  2.2   19.5     1     1     4     1
##  7  27.3     4  79      66  4.08  1.94  18.9     1     1     4     1
##  8  22.8     4 141.     95  3.92  3.15  22.9     1     0     4     2
##  9  19.2     6 168.    123  3.92  3.44  18.3     1     0     4     4
## 10  17.8     6 168.    123  3.92  3.44  18.9     1     0     4     4
## 11  21       6 160     110  3.9   2.62  16.5     0     1     4     4
## 12  21       6 160     110  3.9   2.88  17.0     0     1     4     4
## 13  22.8     4 108      93  3.85  2.32  18.6     1     1     4     1
## 14  30.4     4  95.1   113  3.77  1.51  16.9     1     1     5     2
## 15  13.3     8 350     245  3.73  3.84  15.4     0     0     3     4
## 16  21.5     4 120.     97  3.7   2.46  20.0     1     0     3     1
## 17  24.4     4 147.     62  3.69  3.19  20       1     0     4     2
## 18  19.7     6 145     175  3.62  2.77  15.5     0     1     5     6
## 19  15       8 301     335  3.54  3.57  14.6     0     1     5     8
result2 <- mtcars %>%
  mutate(New.Data = (drat * wt)/qsec) %>%
  select(drat, wt, qsec, New.Data)

result2
## # A tibble: 32 × 4
##     drat    wt  qsec New.Data
##    <dbl> <dbl> <dbl>    <dbl>
##  1  3.9   2.62  16.5    0.621
##  2  3.9   2.88  17.0    0.659
##  3  3.85  2.32  18.6    0.480
##  4  3.08  3.22  19.4    0.509
##  5  3.15  3.44  17.0    0.637
##  6  2.76  3.46  20.2    0.472
##  7  3.21  3.57  15.8    0.723
##  8  3.69  3.19  20      0.589
##  9  3.92  3.15  22.9    0.539
## 10  3.92  3.44  18.3    0.737
## # ℹ 22 more rows