Mata Kuliah : Linear Algebra (C)
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika
NIM : 210605110034
Manipulasi data adalah istilah yang digunakan untuk menggambarkan proses modifikasi struktur data agar lebih mudah dibaca. Misalnya, Anda dapat mengurutkan data berdasarkan abjad. Sehingga pemilik dapat segera menerima informasi yang bermanfaat. Berikut manipulasi data Outflow uang kartal di pulau Kalimantan.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
dataOutflowSumatera <- read_excel(path = "Linear Algebra/PivotOutflowSumatera.xlsx")
dataOutflowSumatera
## # A tibble: 11 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4
## 3 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4
## 4 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4
## 6 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4
## 7 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3
## 8 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4
## 9 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3
## 10 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4
## 11 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- 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.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
##Menghapus Beberapa Variabel yang Tidak Ingin Digunakan
Sumatera<- select(dataOutflowSumatera,'Provinsi','2011')
Sumatera
## # A tibble: 11 x 2
## Provinsi `2011`
## <chr> <dbl>
## 1 Sumatera 80092.
## 2 Aceh 6338.
## 3 Sumatera Utara 22176.
## 4 Sumatera Barat 5300.
## 5 Riau 12434.
## 6 Kep. Riau 5819.
## 7 Jambi 5217.
## 8 Sumatera Selatan 14524.
## 9 Bengkulu 2561.
## 10 Lampung 5724.
## 11 Kep. Bangka Belitung 0
Sumatera2<- select(dataOutflowSumatera,'Provinsi','2012','2013','2014','2015')
Sumatera2
## # A tibble: 11 x 5
## Provinsi `2012` `2013` `2014` `2015`
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 85235. 103288. 102338. 109186.
## 2 Aceh 6378. 23278. 8630. 9637.
## 3 Sumatera Utara 22495. 19235. 26391. 27877.
## 4 Sumatera Barat 6434. 6511. 7060. 7471.
## 5 Riau 13014. 15460. 15158. 15789.
## 6 Kep. Riau 6966. 8747. 10122. 9803.
## 7 Jambi 5013. 6302. 8361. 8325.
## 8 Sumatera Selatan 15600. 12693. 13372. 13484.
## 9 Bengkulu 2959. 6490. 4583. 4852.
## 10 Lampung 6376. 4571. 8339. 9946.
## 11 Kep. Bangka Belitung 0 0 322. 2005.
Sumateramin2011 <- select(dataOutflowSumatera, -'2016')
Sumateramin2011
## # A tibble: 11 x 11
## Provinsi `2011` `2012` `2013` `2014` `2015` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.18e4 1.14e4 1.31e4 1.29e4
## 3 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.52e4 3.69e4 4.41e4 3.98e4
## 4 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 1.08e4 8.45e3 9.46e3 8.76e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.81e4 1.79e4 1.93e4 1.91e4
## 6 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.07e4 1.26e4 1.26e4 8.46e3
## 7 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 8.43e3 8.46e3 9.20e3 8.95e3
## 8 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.70e4 1.79e4 1.91e4 1.83e4
## 9 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.45e3 5.50e3 6.84e3 6.56e3
## 10 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.34e4 1.37e4 1.56e4 1.39e4
## 11 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.75e3 2.74e3 4.17e3 3.90e3
## # ... with 1 more variable: `2021` <dbl>
Sintaks ini menggunakan fungsi select, dan select ini tidak hanya untuk memilih kolom dalam jumlah banyak, melainkan juga bisa untuk mengganti nama kolomnya. misalnya :
Sumateramin1 <- dataOutflowSumatera %>%
select( 'Provinsi', '2017', '2018','2019','2020')
Sumateramin1
## # A tibble: 11 x 5
## Provinsi `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 133606. 135676. 153484. 140589.
## 2 Aceh 11760. 11450. 13087. 12874.
## 3 Sumatera Utara 35243. 36908. 44051. 39758.
## 4 Sumatera Barat 10754. 8447. 9465. 8763.
## 5 Riau 18128. 17926. 19277. 19139.
## 6 Kep. Riau 10749. 12597. 12644. 8461.
## 7 Jambi 8434. 8459. 9204. 8950.
## 8 Sumatera Selatan 16981. 17931. 19121. 18309.
## 9 Bengkulu 5447. 5495. 6842. 6564.
## 10 Lampung 13359. 13725. 15626. 13873.
## 11 Kep. Bangka Belitung 2750. 2738. 4167. 3899.
library(dplyr)
Sumateratahun2 <-dataOutflowSumatera %>% rename('2010' = '2011')
head(Sumateratahun2)
## # 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 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4 1.29e4
## 3 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 4 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4 1.91e4
## 6 Kep. Ri~ 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4 8.46e3
## # ... with 1 more variable: `2021` <dbl>
Sumatera4 <- distinct(dataOutflowSumatera, `2015`)
Sumatera4
## # A tibble: 11 x 1
## `2015`
## <dbl>
## 1 109186.
## 2 9637.
## 3 27877.
## 4 7471.
## 5 15789.
## 6 9803.
## 7 8325.
## 8 13484.
## 9 4852.
## 10 9946.
## 11 2005.
Di Semua Variabel
Sumatera5 <- distinct(dataOutflowSumatera, `2015`, .keep_all = TRUE)
Sumatera5
## # A tibble: 11 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4
## 3 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4
## 4 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4
## 6 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4
## 7 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3
## 8 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4
## 9 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3
## 10 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4
## 11 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
Menyeleksi Baris pada Tabel
Sumatera6 <- dataOutflowSumatera %>%
filter(Provinsi <= 'Aceh') %>%
select(`2018`,`2019`)
Sumatera6
## # A tibble: 1 x 2
## `2018` `2019`
## <dbl> <dbl>
## 1 11450. 13087.
Sumatera7 <- dataOutflowSumatera %>%
filter(Provinsi == 'Aceh', Provinsi == 'Lampung') %>%
select( -`2020`)
Sumatera7
## # A tibble: 0 x 11
## # ... with 11 variables: Provinsi <chr>, 2011 <dbl>, 2012 <dbl>, 2013 <dbl>,
## # 2014 <dbl>, 2015 <dbl>, 2016 <dbl>, 2017 <dbl>, 2018 <dbl>, 2019 <dbl>,
## # 2021 <dbl>
str(dataOutflowSumatera)
## tibble [11 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:11] "Sumatera" "Aceh" "Sumatera Utara" "Sumatera Barat" ...
## $ 2011 : num [1:11] 80092 6338 22176 5300 12434 ...
## $ 2012 : num [1:11] 85235 6378 22495 6434 13014 ...
## $ 2013 : num [1:11] 103288 23278 19235 6511 15460 ...
## $ 2014 : num [1:11] 102338 8630 26391 7060 15158 ...
## $ 2015 : num [1:11] 109186 9637 27877 7471 15789 ...
## $ 2016 : num [1:11] 121992 11311 31959 9198 17645 ...
## $ 2017 : num [1:11] 133606 11760 35243 10754 18128 ...
## $ 2018 : num [1:11] 135676 11450 36908 8447 17926 ...
## $ 2019 : num [1:11] 153484 13087 44051 9465 19277 ...
## $ 2020 : num [1:11] 140589 12874 39758 8763 19139 ...
## $ 2021 : num [1:11] 86627 5770 23453 5941 12631 ...
str(dataOutflowSumatera %>% group_by(Provinsi))
## grouped_df [11 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:11] "Sumatera" "Aceh" "Sumatera Utara" "Sumatera Barat" ...
## $ 2011 : num [1:11] 80092 6338 22176 5300 12434 ...
## $ 2012 : num [1:11] 85235 6378 22495 6434 13014 ...
## $ 2013 : num [1:11] 103288 23278 19235 6511 15460 ...
## $ 2014 : num [1:11] 102338 8630 26391 7060 15158 ...
## $ 2015 : num [1:11] 109186 9637 27877 7471 15789 ...
## $ 2016 : num [1:11] 121992 11311 31959 9198 17645 ...
## $ 2017 : num [1:11] 133606 11760 35243 10754 18128 ...
## $ 2018 : num [1:11] 135676 11450 36908 8447 17926 ...
## $ 2019 : num [1:11] 153484 13087 44051 9465 19277 ...
## $ 2020 : num [1:11] 140589 12874 39758 8763 19139 ...
## $ 2021 : num [1:11] 86627 5770 23453 5941 12631 ...
## - attr(*, "groups")= tibble [11 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:11] "Aceh" "Bengkulu" "Jambi" "Kep. Bangka Belitung" ...
## ..$ .rows : list<int> [1:11]
## .. ..$ : int 2
## .. ..$ : int 9
## .. ..$ : int 7
## .. ..$ : int 11
## .. ..$ : int 6
## .. ..$ : int 10
## .. ..$ : int 5
## .. ..$ : int 1
## .. ..$ : int 4
## .. ..$ : int 8
## .. ..$ : int 3
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
Pengelompokkan Data
Sumateraup <- dataOutflowSumatera %>%
group_by(Provinsi)
Sumateraup
## # A tibble: 11 x 12
## # Groups: Provinsi [11]
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4
## 3 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4
## 4 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4
## 6 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4
## 7 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3
## 8 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4
## 9 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3
## 10 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4
## 11 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
Pengurutan Data
Sumateraubah <- arrange(dataOutflowSumatera, `2012`)
Sumateraubah
## # A tibble: 11 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3
## 2 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3
## 3 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3
## 4 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4
## 5 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4
## 6 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3
## 7 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4
## 8 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4
## 9 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4
## 10 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4
## 11 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
Sumateraup1 <- dataOutflowSumatera %>%
mutate(`2021` = dataOutflowSumatera$`2020`/2)
Sumateraup1
## # A tibble: 11 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5
## 2 Aceh 6338. 6378. 2.33e4 8.63e3 9.64e3 1.13e4 1.18e4 1.14e4 1.31e4
## 3 Sumatera Utara 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4
## 4 Sumatera Barat 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3
## 5 Riau 12434. 13014. 1.55e4 1.52e4 1.58e4 1.76e4 1.81e4 1.79e4 1.93e4
## 6 Kep. Riau 5819. 6966. 8.75e3 1.01e4 9.80e3 1.01e4 1.07e4 1.26e4 1.26e4
## 7 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3
## 8 Sumatera Sela~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4
## 9 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3
## 10 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4
## 11 Kep. Bangka B~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
ggplot Dengan Grafik Titik :
ggplot(data = dataOutflowSumatera, mapping = aes(x = Provinsi, y = `2011`)) +
geom_point()
ggplot(data = dataOutflowSumatera, mapping = aes(x = Provinsi, y = `2012`)) +
geom_point()