Penjelasan

Manipulasi data juga merupakan langkah penting dalam mengolah data. Manipulasi data bertujuan untuk mengorganisir data dan membuat data lebih rapi sehingga memudahkan proses analisis selanjutnya. Bahasa R menyediakan banyak package yang memudahkan eksplorasi dan manipulasi data, salah satunya yaitu Tidyverse.

Memasukkan Data Inflow ke Variable

library(readxl)
Kalimantan <- read_excel(path = "C:/COba/Kalimantan_Out.xlsx")
Kalimantan
## # A tibble: 6 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 52060.
## 2 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768. 13501.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891. 12518.
## 4 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  8222.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596. 14993.
## 6 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.  2826.
## # ... with 1 more variable: `2021` <dbl>

Menggunakan fungsi select untuk menyeleksi berdasar tabel

Fungsi select biasanya digunakana untuk seleksi. Hasil seleksi tersebut dapat digunakan ubaik data yang ingin digunakan maupun data yang tidak digunakan bisa juga untuk mengganti beberapa data berdasar tabel.

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
k2019 <- select(Kalimantan, '2019')
k2019
## # A tibble: 6 x 1
##   `2019`
##    <dbl>
## 1 57579.
## 2 13768.
## 3 12891.
## 4  9228.
## 5 18596.
## 6  3096.
library(tidyverse)
skip2015 <- select(Kalimantan, -'2015')
skip2015
## # A tibble: 6 x 11
##   Provinsi `2011` `2012` `2013` `2014` `2016` `2017` `2018` `2019` `2020` `2021`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 42179. 50404. 53989. 57579. 52060. 30291.
## 2 Kaliman~  5221.  5698.  6011.  6764.  9402. 11132. 12278. 13768. 13501.  6958.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10131. 11695. 13040. 12891. 12518.  7071.
## 4 Kaliman~  5126.  5580.  5046.  6265.  7424.  9544.  8476.  9228.  8222.  5192.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 15221. 16525. 17724. 18596. 14993.  9110.
## 6 Kaliman~     0      0      0      0      0   1507.  2471.  3096.  2826.  1960.
Kalimantan2021 <- Kalimantan %>% select('2021')
Kalimantan2021
## # A tibble: 6 x 1
##   `2021`
##    <dbl>
## 1 30291.
## 2  6958.
## 3  7071.
## 4  5192.
## 5  9110.
## 6  1960.

Mengganti nama tabel

library(dplyr)
Kalimantangantinamatahun <- Kalimantan %>% rename('2010' = '2011')
head(Kalimantangantinamatahun)
## # A tibble: 6 x 12
##   Provinsi `2010` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 52060.
## 2 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768. 13501.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891. 12518.
## 4 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  8222.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596. 14993.
## 6 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.  2826.
## # ... with 1 more variable: `2021` <dbl>

Menggambil Nilai yang tidak Duplikasi dari Variabel yang ada

Kalimantan1 <- distinct(Kalimantan, `2018`)
Kalimantan1
## # A tibble: 6 x 1
##   `2018`
##    <dbl>
## 1 53989.
## 2 12278.
## 3 13040.
## 4  8476.
## 5 17724.
## 6  2471.
Kalimantan1 <- distinct(Kalimantan, `2018`,.keep_all = TRUE)
Kalimantan1
## # A tibble: 6 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 52060.
## 2 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768. 13501.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891. 12518.
## 4 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  8222.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596. 14993.
## 6 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.  2826.
## # ... with 1 more variable: `2021` <dbl>

Memfilter beberapa data dalam tabel

KalimantanBarat<- Kalimantan %>%
    filter(Provinsi == 'Kalimantan Barat') %>%
    select('2020','2021')
KalimantanBarat
## # A tibble: 1 x 2
##   `2020` `2021`
##    <dbl>  <dbl>
## 1 13501.  6958.
Kalimantan1 <- Kalimantan %>%
  filter(Provinsi == 'Kalimantan Timur') %>%
  select('2020','2021')
Kalimantan1
## # A tibble: 1 x 2
##   `2020` `2021`
##    <dbl>  <dbl>
## 1 14993.  9110.

Pengelompokan Data

str(Kalimantan)
## tibble [6 x 12] (S3: tbl_df/tbl/data.frame)
##  $ Provinsi: chr [1:6] "Kalimantan" "Kalimantan Barat" "Kalimantan Tengah" "Kalimantan Selatan" ...
##  $ 2011    : num [1:6] 29535 5221 6850 5126 12337 ...
##  $ 2012    : num [1:6] 33444 5698 7741 5580 14426 ...
##  $ 2013    : num [1:6] 44929 6011 15421 5046 18451 ...
##  $ 2014    : num [1:6] 38772 6764 8346 6265 17398 ...
##  $ 2015    : num [1:6] 41945 8486 10190 6755 16514 ...
##  $ 2016    : num [1:6] 42179 9402 10131 7424 15221 ...
##  $ 2017    : num [1:6] 50404 11132 11695 9544 16525 ...
##  $ 2018    : num [1:6] 53989 12278 13040 8476 17724 ...
##  $ 2019    : num [1:6] 57579 13768 12891 9228 18596 ...
##  $ 2020    : num [1:6] 52060 13501 12518 8222 14993 ...
##  $ 2021    : num [1:6] 30291 6958 7071 5192 9110 ...
str(Kalimantan %>% group_by(Provinsi))
## grouped_df [6 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
##  $ Provinsi: chr [1:6] "Kalimantan" "Kalimantan Barat" "Kalimantan Tengah" "Kalimantan Selatan" ...
##  $ 2011    : num [1:6] 29535 5221 6850 5126 12337 ...
##  $ 2012    : num [1:6] 33444 5698 7741 5580 14426 ...
##  $ 2013    : num [1:6] 44929 6011 15421 5046 18451 ...
##  $ 2014    : num [1:6] 38772 6764 8346 6265 17398 ...
##  $ 2015    : num [1:6] 41945 8486 10190 6755 16514 ...
##  $ 2016    : num [1:6] 42179 9402 10131 7424 15221 ...
##  $ 2017    : num [1:6] 50404 11132 11695 9544 16525 ...
##  $ 2018    : num [1:6] 53989 12278 13040 8476 17724 ...
##  $ 2019    : num [1:6] 57579 13768 12891 9228 18596 ...
##  $ 2020    : num [1:6] 52060 13501 12518 8222 14993 ...
##  $ 2021    : num [1:6] 30291 6958 7071 5192 9110 ...
##  - attr(*, "groups")= tibble [6 x 2] (S3: tbl_df/tbl/data.frame)
##   ..$ Provinsi: chr [1:6] "Kalimantan" "Kalimantan Barat" "Kalimantan Selatan" "Kalimantan Tengah" ...
##   ..$ .rows   : list<int> [1:6] 
##   .. ..$ : int 1
##   .. ..$ : int 2
##   .. ..$ : int 4
##   .. ..$ : int 3
##   .. ..$ : int 5
##   .. ..$ : int 6
##   .. ..@ ptype: int(0) 
##   ..- attr(*, ".drop")= logi TRUE
Kalimantan4 <- Kalimantan %>%
    group_by(Provinsi)
Kalimantan4
## # A tibble: 6 x 12
## # Groups:   Provinsi [6]
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 52060.
## 2 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768. 13501.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891. 12518.
## 4 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  8222.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596. 14993.
## 6 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.  2826.
## # ... with 1 more variable: `2021` <dbl>

Perhitungan Data

Kalimantan %>%
    filter(Provinsi == 'Kalimantan Barat') %>%
    count('2020', sort = TRUE)
## # A tibble: 1 x 2
##   `"2020"`     n
##   <chr>    <int>
## 1 2020         1
Kalimantan %>%
    filter(Provinsi == 'Kalimantan Timur') %>%
    count('2020', sort = TRUE)
## # A tibble: 1 x 2
##   `"2020"`     n
##   <chr>    <int>
## 1 2020         1

Pengurutan Data

Kalimantan2 <- arrange(Kalimantan, `2012`)
Kalimantan2
## # A tibble: 6 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.  2826.
## 2 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  8222.
## 3 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768. 13501.
## 4 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891. 12518.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596. 14993.
## 6 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 52060.
## # ... with 1 more variable: `2021` <dbl>

Pertukaran Data

Kalimantan3 <- Kalimantan %>%
    mutate('2020' = Kalimantan$'2021'/2)
Kalimantan3
## # A tibble: 6 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Kaliman~ 29535. 33444. 44929. 38772. 41945. 42179. 50404. 53989. 57579. 15145.
## 2 Kaliman~  5221.  5698.  6011.  6764.  8486.  9402. 11132. 12278. 13768.  3479.
## 3 Kaliman~  6850.  7741. 15421.  8346. 10190. 10131. 11695. 13040. 12891.  3535.
## 4 Kaliman~  5126.  5580.  5046.  6265.  6755.  7424.  9544.  8476.  9228.  2596.
## 5 Kaliman~ 12337. 14426. 18451. 17398. 16514. 15221. 16525. 17724. 18596.  4555.
## 6 Kaliman~     0      0      0      0      0      0   1507.  2471.  3096.   980.
## # ... with 1 more variable: `2021` <dbl>

Visualisasi Data dengan ggplot

ggplot(data = Kalimantan, mapping = aes(x = Provinsi, y = `2021`)) +
    geom_point()

Referensi

https://www.dqlab.id/belajar-bahasa-r-untuk-pemula-tidyverse-package-untuk-eksplorasi-dan-manipulasi-data https://rpubs.com/arnabila1410_/876622