Manipulasi data, manipulasi data dapat diartikan sebagai proses perubahan data sesuai dengan aturan yang kita terapkan. Manfaat manipulasi data dapat kita gunakan untuk melakukan prediksi data. Dengan adanya prediksi tersebut kita dapat membuat rencana untuk mencegah hal-hal yang tidak kita inginkan.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
inflowbali <- read_excel(path = "D:/1. PERKULIAHAN/Semester 2/Linier Algebra/data/datainflowbalitahunan.xlsx")
## New names:
## * `` -> ...1
inflowbali
## # A tibble: 5 x 13
## ...1 Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA NA NA NA
## 2 1 Bali Nus~ 10322. 14613. 17512. 20807. 23008. 30965. 30797. 33866. 38116.
## 3 2 Bali 6394. 8202. 5066. 11590. 13072. 17914. 16962. 18610. 21422.
## 4 3 Nusa Ten~ 1803. 3676. 7024. 5704. 6285. 8842. 8383. 9140. 9614.
## 5 4 Nusa Ten~ 2125. 2735. 5422. 3512. 3651. 4210. 5452. 6116. 7080.
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
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.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.3
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
bali2015 <- select(inflowbali, '2015')
bali2015
## # A tibble: 5 x 1
## `2015`
## <dbl>
## 1 NA
## 2 23008.
## 3 13072.
## 4 6285.
## 5 3651.
library(tidyverse)
balinon2015 <- select(inflowbali, -'2015')
balinon2015
## # A tibble: 5 x 12
## ...1 Provinsi `2011` `2012` `2013` `2014` `2016` `2017` `2018` `2019` `2020`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA NA NA NA
## 2 1 Bali Nus~ 10322. 14613. 17512. 20807. 30965. 30797. 33866. 38116. 29400.
## 3 2 Bali 6394. 8202. 5066. 11590. 17914. 16962. 18610. 21422. 14735.
## 4 3 Nusa Ten~ 1803. 3676. 7024. 5704. 8842. 8383. 9140. 9614. 8007.
## 5 4 Nusa Ten~ 2125. 2735. 5422. 3512. 4210. 5452. 6116. 7080. 6657.
## # ... with 1 more variable: `2021` <dbl>
library(dplyr)
rename2011 <- inflowbali %>% rename('Tahun 2011' = '2011')
head(rename2011)
## # A tibble: 5 x 13
## ...1 Provinsi `Tahun 2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA NA NA
## 2 1 Bali Nusra 10322. 14613. 17512. 20807. 23008. 30965. 30797. 33866.
## 3 2 Bali 6394. 8202. 5066. 11590. 13072. 17914. 16962. 18610.
## 4 3 Nusa Teng~ 1803. 3676. 7024. 5704. 6285. 8842. 8383. 9140.
## 5 4 Nusa Teng~ 2125. 2735. 5422. 3512. 3651. 4210. 5452. 6116.
## # ... with 3 more variables: `2019` <dbl>, `2020` <dbl>, `2021` <dbl>
library(dplyr)
nusrabali <- inflowbali %>%
filter(Provinsi == 'Bali') %>%
select('2011','2012','2013','2014','2015')
nusrabali
## # A tibble: 1 x 5
## `2011` `2012` `2013` `2014` `2015`
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 6394. 8202. 5066. 11590. 13072.
library(dplyr)
nusrantb <- inflowbali %>%
filter(Provinsi == 'Nusa Tenggara Barat') %>%
select('2012','2014','2016','2018')
nusrantb
## # A tibble: 1 x 4
## `2012` `2014` `2016` `2018`
## <dbl> <dbl> <dbl> <dbl>
## 1 3676. 5704. 8842. 9140.
str(inflowbali)
## tibble [5 x 13] (S3: tbl_df/tbl/data.frame)
## $ ...1 : num [1:5] NA 1 2 3 4
## $ Provinsi: chr [1:5] NA "Bali Nusra" "Bali" "Nusa Tenggara Barat" ...
## $ 2011 : num [1:5] NA 10322 6394 1803 2125
## $ 2012 : num [1:5] NA 14613 8202 3676 2735
## $ 2013 : num [1:5] NA 17512 5066 7024 5422
## $ 2014 : num [1:5] NA 20807 11590 5704 3512
## $ 2015 : num [1:5] NA 23008 13072 6285 3651
## $ 2016 : num [1:5] NA 30965 17914 8842 4210
## $ 2017 : num [1:5] NA 30797 16962 8383 5452
## $ 2018 : num [1:5] NA 33866 18610 9140 6116
## $ 2019 : num [1:5] NA 38116 21422 9614 7080
## $ 2020 : num [1:5] NA 29400 14735 8007 6657
## $ 2021 : num [1:5] NA 18892 7505 5888 5498
str(inflowbali %>% group_by(Provinsi))
## grouped_df [5 x 13] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ ...1 : num [1:5] NA 1 2 3 4
## $ Provinsi: chr [1:5] NA "Bali Nusra" "Bali" "Nusa Tenggara Barat" ...
## $ 2011 : num [1:5] NA 10322 6394 1803 2125
## $ 2012 : num [1:5] NA 14613 8202 3676 2735
## $ 2013 : num [1:5] NA 17512 5066 7024 5422
## $ 2014 : num [1:5] NA 20807 11590 5704 3512
## $ 2015 : num [1:5] NA 23008 13072 6285 3651
## $ 2016 : num [1:5] NA 30965 17914 8842 4210
## $ 2017 : num [1:5] NA 30797 16962 8383 5452
## $ 2018 : num [1:5] NA 33866 18610 9140 6116
## $ 2019 : num [1:5] NA 38116 21422 9614 7080
## $ 2020 : num [1:5] NA 29400 14735 8007 6657
## $ 2021 : num [1:5] NA 18892 7505 5888 5498
## - attr(*, "groups")= tibble [5 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:5] "Bali" "Bali Nusra" "Nusa Tenggara Barat" "Nusa Tenggara Timur" ...
## ..$ .rows : list<int> [1:5]
## .. ..$ : int 3
## .. ..$ : int 2
## .. ..$ : int 4
## .. ..$ : int 5
## .. ..$ : int 1
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
ggplot(data = inflowbali, mapping = aes(x = Provinsi, y = `2015`)) +
geom_point()
## Warning: Removed 1 rows containing missing values (geom_point).