#Data
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ 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)
data("rock")
Batu<- tibble::as.tibble(rock)
## 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.
class(Batu)
## [1] "tbl_df"     "tbl"        "data.frame"
head(Batu)
## # A tibble: 6 × 4
##    area  peri  shape  perm
##   <int> <dbl>  <dbl> <dbl>
## 1  4990 2792. 0.0903   6.3
## 2  7002 3893. 0.149    6.3
## 3  7558 3931. 0.183    6.3
## 4  7352 3869. 0.117    6.3
## 5  7943 3949. 0.122   17.1
## 6  7979 4010. 0.167   17.1
glimpse(Batu)
## Rows: 48
## Columns: 4
## $ area  <int> 4990, 7002, 7558, 7352, 7943, 7979, 9333, 8209, 8393, 6425, 9364…
## $ peri  <dbl> 2791.90, 3892.60, 3930.66, 3869.32, 3948.54, 4010.15, 4345.75, 4…
## $ shape <dbl> 0.0903296, 0.1486220, 0.1833120, 0.1170630, 0.1224170, 0.1670450…
## $ perm  <dbl> 6.3, 6.3, 6.3, 6.3, 17.1, 17.1, 17.1, 17.1, 119.0, 119.0, 119.0,…
data.frame(Batu)
##     area     peri     shape   perm
## 1   4990 2791.900 0.0903296    6.3
## 2   7002 3892.600 0.1486220    6.3
## 3   7558 3930.660 0.1833120    6.3
## 4   7352 3869.320 0.1170630    6.3
## 5   7943 3948.540 0.1224170   17.1
## 6   7979 4010.150 0.1670450   17.1
## 7   9333 4345.750 0.1896510   17.1
## 8   8209 4344.750 0.1641270   17.1
## 9   8393 3682.040 0.2036540  119.0
## 10  6425 3098.650 0.1623940  119.0
## 11  9364 4480.050 0.1509440  119.0
## 12  8624 3986.240 0.1481410  119.0
## 13 10651 4036.540 0.2285950   82.4
## 14  8868 3518.040 0.2316230   82.4
## 15  9417 3999.370 0.1725670   82.4
## 16  8874 3629.070 0.1534810   82.4
## 17 10962 4608.660 0.2043140   58.6
## 18 10743 4787.620 0.2627270   58.6
## 19 11878 4864.220 0.2000710   58.6
## 20  9867 4479.410 0.1448100   58.6
## 21  7838 3428.740 0.1138520  142.0
## 22 11876 4353.140 0.2910290  142.0
## 23 12212 4697.650 0.2400770  142.0
## 24  8233 3518.440 0.1618650  142.0
## 25  6360 1977.390 0.2808870  740.0
## 26  4193 1379.350 0.1794550  740.0
## 27  7416 1916.240 0.1918020  740.0
## 28  5246 1585.420 0.1330830  740.0
## 29  6509 1851.210 0.2252140  890.0
## 30  4895 1239.660 0.3412730  890.0
## 31  6775 1728.140 0.3116460  890.0
## 32  7894 1461.060 0.2760160  890.0
## 33  5980 1426.760 0.1976530  950.0
## 34  5318  990.388 0.3266350  950.0
## 35  7392 1350.760 0.1541920  950.0
## 36  7894 1461.060 0.2760160  950.0
## 37  3469 1376.700 0.1769690  100.0
## 38  1468  476.322 0.4387120  100.0
## 39  3524 1189.460 0.1635860  100.0
## 40  5267 1644.960 0.2538320  100.0
## 41  5048  941.543 0.3286410 1300.0
## 42  1016  308.642 0.2300810 1300.0
## 43  5605 1145.690 0.4641250 1300.0
## 44  8793 2280.490 0.4204770 1300.0
## 45  3475 1174.110 0.2007440  580.0
## 46  1651  597.808 0.2626510  580.0
## 47  5514 1455.880 0.1824530  580.0
## 48  9718 1485.580 0.2004470  580.0
#Menghitung rata rata salah satu kolom contohnya area
mean(Batu$area)
## [1] 7187.729
#atau
Batu$area %>%
  mean()
## [1] 7187.729
# Penggunaan summarize
Batu %>%
  summarize('Rata-rata Luas'=mean(area),
            'Rata-rata Keliling'= mean(peri),
            'Luas Batu Terbesar'=max(area),
            'Luas Batu Terkecil'=min(area))
## # A tibble: 1 × 4
##   `Rata-rata Luas` `Rata-rata Keliling` `Luas Batu Terbesar`
##              <dbl>                <dbl>                <int>
## 1            7188.                2682.                12212
## # ℹ 1 more variable: `Luas Batu Terkecil` <int>
#Penggunaan arrange dengan urutan menaik/ascending
Batu%>%
  arrange(area)%>%
  print(n=48)
## # A tibble: 48 × 4
##     area  peri  shape   perm
##    <int> <dbl>  <dbl>  <dbl>
##  1  1016  309. 0.230  1300  
##  2  1468  476. 0.439   100  
##  3  1651  598. 0.263   580  
##  4  3469 1377. 0.177   100  
##  5  3475 1174. 0.201   580  
##  6  3524 1189. 0.164   100  
##  7  4193 1379. 0.179   740  
##  8  4895 1240. 0.341   890  
##  9  4990 2792. 0.0903    6.3
## 10  5048  942. 0.329  1300  
## 11  5246 1585. 0.133   740  
## 12  5267 1645. 0.254   100  
## 13  5318  990. 0.327   950  
## 14  5514 1456. 0.182   580  
## 15  5605 1146. 0.464  1300  
## 16  5980 1427. 0.198   950  
## 17  6360 1977. 0.281   740  
## 18  6425 3099. 0.162   119  
## 19  6509 1851. 0.225   890  
## 20  6775 1728. 0.312   890  
## 21  7002 3893. 0.149     6.3
## 22  7352 3869. 0.117     6.3
## 23  7392 1351. 0.154   950  
## 24  7416 1916. 0.192   740  
## 25  7558 3931. 0.183     6.3
## 26  7838 3429. 0.114   142  
## 27  7894 1461. 0.276   890  
## 28  7894 1461. 0.276   950  
## 29  7943 3949. 0.122    17.1
## 30  7979 4010. 0.167    17.1
## 31  8209 4345. 0.164    17.1
## 32  8233 3518. 0.162   142  
## 33  8393 3682. 0.204   119  
## 34  8624 3986. 0.148   119  
## 35  8793 2280. 0.420  1300  
## 36  8868 3518. 0.232    82.4
## 37  8874 3629. 0.153    82.4
## 38  9333 4346. 0.190    17.1
## 39  9364 4480. 0.151   119  
## 40  9417 3999. 0.173    82.4
## 41  9718 1486. 0.200   580  
## 42  9867 4479. 0.145    58.6
## 43 10651 4037. 0.229    82.4
## 44 10743 4788. 0.263    58.6
## 45 10962 4609. 0.204    58.6
## 46 11876 4353. 0.291   142  
## 47 11878 4864. 0.200    58.6
## 48 12212 4698. 0.240   142
#Penggunaan arrange dengan urutan menurun/descending
Batu %>%
  arrange(desc(area)) %>% 
  print(n=48)
## # A tibble: 48 × 4
##     area  peri  shape   perm
##    <int> <dbl>  <dbl>  <dbl>
##  1 12212 4698. 0.240   142  
##  2 11878 4864. 0.200    58.6
##  3 11876 4353. 0.291   142  
##  4 10962 4609. 0.204    58.6
##  5 10743 4788. 0.263    58.6
##  6 10651 4037. 0.229    82.4
##  7  9867 4479. 0.145    58.6
##  8  9718 1486. 0.200   580  
##  9  9417 3999. 0.173    82.4
## 10  9364 4480. 0.151   119  
## 11  9333 4346. 0.190    17.1
## 12  8874 3629. 0.153    82.4
## 13  8868 3518. 0.232    82.4
## 14  8793 2280. 0.420  1300  
## 15  8624 3986. 0.148   119  
## 16  8393 3682. 0.204   119  
## 17  8233 3518. 0.162   142  
## 18  8209 4345. 0.164    17.1
## 19  7979 4010. 0.167    17.1
## 20  7943 3949. 0.122    17.1
## 21  7894 1461. 0.276   890  
## 22  7894 1461. 0.276   950  
## 23  7838 3429. 0.114   142  
## 24  7558 3931. 0.183     6.3
## 25  7416 1916. 0.192   740  
## 26  7392 1351. 0.154   950  
## 27  7352 3869. 0.117     6.3
## 28  7002 3893. 0.149     6.3
## 29  6775 1728. 0.312   890  
## 30  6509 1851. 0.225   890  
## 31  6425 3099. 0.162   119  
## 32  6360 1977. 0.281   740  
## 33  5980 1427. 0.198   950  
## 34  5605 1146. 0.464  1300  
## 35  5514 1456. 0.182   580  
## 36  5318  990. 0.327   950  
## 37  5267 1645. 0.254   100  
## 38  5246 1585. 0.133   740  
## 39  5048  942. 0.329  1300  
## 40  4990 2792. 0.0903    6.3
## 41  4895 1240. 0.341   890  
## 42  4193 1379. 0.179   740  
## 43  3524 1189. 0.164   100  
## 44  3475 1174. 0.201   580  
## 45  3469 1377. 0.177   100  
## 46  1651  598. 0.263   580  
## 47  1468  476. 0.439   100  
## 48  1016  309. 0.230  1300
#penggunaan filter
#Memilih beberapa data batu yang memiliki luas diatas rata-rata
Batu %>%
  filter(area>mean(area)) %>%
  print(n=48)
## # A tibble: 27 × 4
##     area  peri shape   perm
##    <int> <dbl> <dbl>  <dbl>
##  1  7558 3931. 0.183    6.3
##  2  7352 3869. 0.117    6.3
##  3  7943 3949. 0.122   17.1
##  4  7979 4010. 0.167   17.1
##  5  9333 4346. 0.190   17.1
##  6  8209 4345. 0.164   17.1
##  7  8393 3682. 0.204  119  
##  8  9364 4480. 0.151  119  
##  9  8624 3986. 0.148  119  
## 10 10651 4037. 0.229   82.4
## 11  8868 3518. 0.232   82.4
## 12  9417 3999. 0.173   82.4
## 13  8874 3629. 0.153   82.4
## 14 10962 4609. 0.204   58.6
## 15 10743 4788. 0.263   58.6
## 16 11878 4864. 0.200   58.6
## 17  9867 4479. 0.145   58.6
## 18  7838 3429. 0.114  142  
## 19 11876 4353. 0.291  142  
## 20 12212 4698. 0.240  142  
## 21  8233 3518. 0.162  142  
## 22  7416 1916. 0.192  740  
## 23  7894 1461. 0.276  890  
## 24  7392 1351. 0.154  950  
## 25  7894 1461. 0.276  950  
## 26  8793 2280. 0.420 1300  
## 27  9718 1486. 0.200  580
#Penggunaan Select
#Untuk menampilkan 2 kolom saja yaitu area(luas batu) dan peri(keliling batu)
Batu %>%
  select(area, peri)%>%
  print(n=48)
## # A tibble: 48 × 2
##     area  peri
##    <int> <dbl>
##  1  4990 2792.
##  2  7002 3893.
##  3  7558 3931.
##  4  7352 3869.
##  5  7943 3949.
##  6  7979 4010.
##  7  9333 4346.
##  8  8209 4345.
##  9  8393 3682.
## 10  6425 3099.
## 11  9364 4480.
## 12  8624 3986.
## 13 10651 4037.
## 14  8868 3518.
## 15  9417 3999.
## 16  8874 3629.
## 17 10962 4609.
## 18 10743 4788.
## 19 11878 4864.
## 20  9867 4479.
## 21  7838 3429.
## 22 11876 4353.
## 23 12212 4698.
## 24  8233 3518.
## 25  6360 1977.
## 26  4193 1379.
## 27  7416 1916.
## 28  5246 1585.
## 29  6509 1851.
## 30  4895 1240.
## 31  6775 1728.
## 32  7894 1461.
## 33  5980 1427.
## 34  5318  990.
## 35  7392 1351.
## 36  7894 1461.
## 37  3469 1377.
## 38  1468  476.
## 39  3524 1189.
## 40  5267 1645.
## 41  5048  942.
## 42  1016  309.
## 43  5605 1146.
## 44  8793 2280.
## 45  3475 1174.
## 46  1651  598.
## 47  5514 1456.
## 48  9718 1486.
#Penggunaan Mutate
#membuat variabel baru yaitu besar jarak euclid tiap pengamatan area dan perimeter terhadap nilai rata ratanya
Batu %>%
  mutate(Jarak_Euclid= sqrt((area-mean(area))^2 + (peri-mean(peri))^2))%>%
  print(n=48)
## # A tibble: 48 × 5
##     area  peri  shape   perm Jarak_Euclid
##    <int> <dbl>  <dbl>  <dbl>        <dbl>
##  1  4990 2792. 0.0903    6.3        2200.
##  2  7002 3893. 0.149     6.3        1225.
##  3  7558 3931. 0.183     6.3        1302.
##  4  7352 3869. 0.117     6.3        1198.
##  5  7943 3949. 0.122    17.1        1474.
##  6  7979 4010. 0.167    17.1        1546.
##  7  9333 4346. 0.190    17.1        2715.
##  8  8209 4345. 0.164    17.1        1951.
##  9  8393 3682. 0.204   119          1566.
## 10  6425 3099. 0.162   119           869.
## 11  9364 4480. 0.151   119          2823.
## 12  8624 3986. 0.148   119          1940.
## 13 10651 4037. 0.229    82.4        3719.
## 14  8868 3518. 0.232    82.4        1877.
## 15  9417 3999. 0.173    82.4        2589.
## 16  8874 3629. 0.153    82.4        1934.
## 17 10962 4609. 0.204    58.6        4237.
## 18 10743 4788. 0.263    58.6        4132.
## 19 11878 4864. 0.200    58.6        5173.
## 20  9867 4479. 0.145    58.6        3226.
## 21  7838 3429. 0.114   142           990.
## 22 11876 4353. 0.291   142          4977.
## 23 12212 4698. 0.240   142          5413.
## 24  8233 3518. 0.162   142          1339.
## 25  6360 1977. 0.281   740          1087.
## 26  4193 1379. 0.179   740          3266.
## 27  7416 1916. 0.192   740           799.
## 28  5246 1585. 0.133   740          2230.
## 29  6509 1851. 0.225   890          1073.
## 30  4895 1240. 0.341   890          2709.
## 31  6775 1728. 0.312   890          1040.
## 32  7894 1461. 0.276   890          1411.
## 33  5980 1427. 0.198   950          1742.
## 34  5318  990. 0.327   950          2522.
## 35  7392 1351. 0.154   950          1347.
## 36  7894 1461. 0.276   950          1411.
## 37  3469 1377. 0.177   100          3941.
## 38  1468  476. 0.439   100          6130.
## 39  3524 1189. 0.164   100          3956.
## 40  5267 1645. 0.254   100          2183.
## 41  5048  942. 0.329  1300          2758.
## 42  1016  309. 0.230  1300          6612.
## 43  5605 1146. 0.464  1300          2206.
## 44  8793 2280. 0.420  1300          1655.
## 45  3475 1174. 0.201   580          4007.
## 46  1651  598. 0.263   580          5916.
## 47  5514 1456. 0.182   580          2075.
## 48  9718 1486. 0.200   580          2799.
#Penggunaan secara bersama sama
#Membuat kolom baru yaitu jarak euclid dengan hanya mengambil baris yang memiliki area dibawah rata rata dan menampilkan kolom area peri dan jarak euclid saja kemudian data diurutkan menurun berdasarkan jarak euclidnya.
Batu %>%
  mutate(Jarak_Euclid= sqrt((area-mean(area))^2 + (peri-mean(peri))^2)) %>%
  filter(area<=mean(area)) %>%
  select(area, peri, Jarak_Euclid) %>%
  arrange(desc(Jarak_Euclid))%>%
  print(n=48)
## # A tibble: 21 × 3
##     area  peri Jarak_Euclid
##    <int> <dbl>        <dbl>
##  1  1016  309.        6612.
##  2  1468  476.        6130.
##  3  1651  598.        5916.
##  4  3475 1174.        4007.
##  5  3524 1189.        3956.
##  6  3469 1377.        3941.
##  7  4193 1379.        3266.
##  8  5048  942.        2758.
##  9  4895 1240.        2709.
## 10  5318  990.        2522.
## 11  5246 1585.        2230.
## 12  5605 1146.        2206.
## 13  4990 2792.        2200.
## 14  5267 1645.        2183.
## 15  5514 1456.        2075.
## 16  5980 1427.        1742.
## 17  7002 3893.        1225.
## 18  6360 1977.        1087.
## 19  6509 1851.        1073.
## 20  6775 1728.        1040.
## 21  6425 3099.         869.

```