relocate() function in tidyverse
- sam33frodon
- Jan 22, 2021
- 6 min read
library(tidyverse)
mpg %>%
head(10)
## # A tibble: 10 x 11
## manufacturer model displ year cyl trans drv cty hwy fl class
## <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 1999 4 auto(l~ f 18 29 p comp~
## 2 audi a4 1.8 1999 4 manual~ f 21 29 p comp~
## 3 audi a4 2 2008 4 manual~ f 20 31 p comp~
## 4 audi a4 2 2008 4 auto(a~ f 21 30 p comp~
## 5 audi a4 2.8 1999 6 auto(l~ f 16 26 p comp~
## 6 audi a4 2.8 1999 6 manual~ f 18 26 p comp~
## 7 audi a4 3.1 2008 6 auto(a~ f 18 27 p comp~
## 8 audi a4 quat~ 1.8 1999 4 manual~ 4 18 26 p comp~
## 9 audi a4 quat~ 1.8 1999 4 auto(l~ 4 16 25 p comp~
## 10 audi a4 quat~ 2 2008 4 manual~ 4 20 28 p comp~
Relocating columns by names
mpg %>%
select(model, manufacturer, class, year) %>%
head(10)
## # A tibble: 10 x 4
## model manufacturer class year
## <chr> <chr> <chr> <int>
## 1 a4 audi compact 1999
## 2 a4 audi compact 1999
## 3 a4 audi compact 2008
## 4 a4 audi compact 2008
## 5 a4 audi compact 1999
## 6 a4 audi compact 1999
## 7 a4 audi compact 2008
## 8 a4 quattro audi compact 1999
## 9 a4 quattro audi compact 1999
## 10 a4 quattro audi compact 2008
mpg %>%
relocate(model, manufacturer, class, year) %>%
head(10)
## # A tibble: 10 x 11
## model manufacturer class year displ cyl trans drv cty hwy fl
## <chr> <chr> <chr> <int> <dbl> <int> <chr> <chr> <int> <int> <chr>
## 1 a4 audi comp~ 1999 1.8 4 auto(l~ f 18 29 p
## 2 a4 audi comp~ 1999 1.8 4 manual~ f 21 29 p
## 3 a4 audi comp~ 2008 2 4 manual~ f 20 31 p
## 4 a4 audi comp~ 2008 2 4 auto(a~ f 21 30 p
## 5 a4 audi comp~ 1999 2.8 6 auto(l~ f 16 26 p
## 6 a4 audi comp~ 1999 2.8 6 manual~ f 18 26 p
## 7 a4 audi comp~ 2008 3.1 6 auto(a~ f 18 27 p
## 8 a4 quat~ audi comp~ 1999 1.8 4 manual~ 4 18 26 p
## 9 a4 quat~ audi comp~ 1999 1.8 4 auto(l~ 4 16 25 p
## 10 a4 quat~ audi comp~ 2008 2 4 manual~ 4 20 28 p
mpg %>%
relocate(year,.before = model) %>%
head(10)
## # A tibble: 10 x 11
## manufacturer year model displ cyl trans drv cty hwy fl class
## <chr> <int> <chr> <dbl> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi 1999 a4 1.8 4 auto(l~ f 18 29 p comp~
## 2 audi 1999 a4 1.8 4 manual~ f 21 29 p comp~
## 3 audi 2008 a4 2 4 manual~ f 20 31 p comp~
## 4 audi 2008 a4 2 4 auto(a~ f 21 30 p comp~
## 5 audi 1999 a4 2.8 6 auto(l~ f 16 26 p comp~
## 6 audi 1999 a4 2.8 6 manual~ f 18 26 p comp~
## 7 audi 2008 a4 3.1 6 auto(a~ f 18 27 p comp~
## 8 audi 1999 a4 quat~ 1.8 4 manual~ 4 18 26 p comp~
## 9 audi 1999 a4 quat~ 1.8 4 auto(l~ 4 16 25 p comp~
## 10 audi 2008 a4 quat~ 2 4 manual~ 4 20 28 p comp~
mpg %>%
relocate(cyl,.after = trans) %>%
head(10)
## # A tibble: 10 x 11
## manufacturer model displ year trans cyl drv cty hwy fl class
## <chr> <chr> <dbl> <int> <chr> <int> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 1999 auto(l~ 4 f 18 29 p comp~
## 2 audi a4 1.8 1999 manual~ 4 f 21 29 p comp~
## 3 audi a4 2 2008 manual~ 4 f 20 31 p comp~
## 4 audi a4 2 2008 auto(a~ 4 f 21 30 p comp~
## 5 audi a4 2.8 1999 auto(l~ 6 f 16 26 p comp~
## 6 audi a4 2.8 1999 manual~ 6 f 18 26 p comp~
## 7 audi a4 3.1 2008 auto(a~ 6 f 18 27 p comp~
## 8 audi a4 quat~ 1.8 1999 manual~ 4 4 18 26 p comp~
## 9 audi a4 quat~ 1.8 1999 auto(l~ 4 4 16 25 p comp~
## 10 audi a4 quat~ 2 2008 manual~ 4 4 20 28 p comp~
mpg %>%
relocate(manufacturer, .after = last_col()) %>%
head(10)
## # A tibble: 10 x 11
## model displ year cyl trans drv cty hwy fl class manufacturer
## <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr> <chr>
## 1 a4 1.8 1999 4 auto(l~ f 18 29 p comp~ audi
## 2 a4 1.8 1999 4 manual~ f 21 29 p comp~ audi
## 3 a4 2 2008 4 manual~ f 20 31 p comp~ audi
## 4 a4 2 2008 4 auto(a~ f 21 30 p comp~ audi
## 5 a4 2.8 1999 6 auto(l~ f 16 26 p comp~ audi
## 6 a4 2.8 1999 6 manual~ f 18 26 p comp~ audi
## 7 a4 3.1 2008 6 auto(a~ f 18 27 p comp~ audi
## 8 a4 quat~ 1.8 1999 4 manual~ 4 18 26 p comp~ audi
## 9 a4 quat~ 1.8 1999 4 auto(l~ 4 16 25 p comp~ audi
## 10 a4 quat~ 2 2008 4 manual~ 4 20 28 p comp~ audi
mpg %>%
relocate(manufacturer, .after = last_col(offset = 3)) %>%
head(10)
## # A tibble: 10 x 11
## model displ year cyl trans drv cty manufacturer hwy fl class
## <chr> <dbl> <int> <int> <chr> <chr> <int> <chr> <int> <chr> <chr>
## 1 a4 1.8 1999 4 auto(l~ f 18 audi 29 p comp~
## 2 a4 1.8 1999 4 manual~ f 21 audi 29 p comp~
## 3 a4 2 2008 4 manual~ f 20 audi 31 p comp~
## 4 a4 2 2008 4 auto(a~ f 21 audi 30 p comp~
## 5 a4 2.8 1999 6 auto(l~ f 16 audi 26 p comp~
## 6 a4 2.8 1999 6 manual~ f 18 audi 26 p comp~
## 7 a4 3.1 2008 6 auto(a~ f 18 audi 27 p comp~
## 8 a4 quat~ 1.8 1999 4 manual~ 4 18 audi 26 p comp~
## 9 a4 quat~ 1.8 1999 4 auto(l~ 4 16 audi 25 p comp~
## 10 a4 quat~ 2 2008 4 manual~ 4 20 audi 28 p comp~
Relocating by data type.
mpg %>%
relocate(where(is.numeric)) %>%
head(10)
## # A tibble: 10 x 11
## displ year cyl cty hwy manufacturer model trans drv fl class
## <dbl> <int> <int> <int> <int> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1.8 1999 4 18 29 audi a4 auto(l~ f p comp~
## 2 1.8 1999 4 21 29 audi a4 manual~ f p comp~
## 3 2 2008 4 20 31 audi a4 manual~ f p comp~
## 4 2 2008 4 21 30 audi a4 auto(a~ f p comp~
## 5 2.8 1999 6 16 26 audi a4 auto(l~ f p comp~
## 6 2.8 1999 6 18 26 audi a4 manual~ f p comp~
## 7 3.1 2008 6 18 27 audi a4 auto(a~ f p comp~
## 8 1.8 1999 4 18 26 audi a4 quat~ manual~ 4 p comp~
## 9 1.8 1999 4 16 25 audi a4 quat~ auto(l~ 4 p comp~
## 10 2 2008 4 20 28 audi a4 quat~ manual~ 4 p comp~
mpg %>%
relocate(where(is.character)) %>%
head(10)
## # A tibble: 10 x 11
## manufacturer model trans drv fl class displ year cyl cty hwy
## <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <int> <int> <int> <int>
## 1 audi a4 auto(l~ f p comp~ 1.8 1999 4 18 29
## 2 audi a4 manual~ f p comp~ 1.8 1999 4 21 29
## 3 audi a4 manual~ f p comp~ 2 2008 4 20 31
## 4 audi a4 auto(a~ f p comp~ 2 2008 4 21 30
## 5 audi a4 auto(l~ f p comp~ 2.8 1999 6 16 26
## 6 audi a4 manual~ f p comp~ 2.8 1999 6 18 26
## 7 audi a4 auto(a~ f p comp~ 3.1 2008 6 18 27
## 8 audi a4 quat~ manual~ 4 p comp~ 1.8 1999 4 18 26
## 9 audi a4 quat~ auto(l~ 4 p comp~ 1.8 1999 4 16 25
## 10 audi a4 quat~ manual~ 4 p comp~ 2 2008 4 20 28
relocate with tidyselect
mpg %>%
relocate(contains("d"),.before = year) %>%
head(10)
## # A tibble: 10 x 11
## manufacturer model displ drv year cyl trans cty hwy fl class
## <chr> <chr> <dbl> <chr> <int> <int> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 f 1999 4 auto(l~ 18 29 p comp~
## 2 audi a4 1.8 f 1999 4 manual~ 21 29 p comp~
## 3 audi a4 2 f 2008 4 manual~ 20 31 p comp~
## 4 audi a4 2 f 2008 4 auto(a~ 21 30 p comp~
## 5 audi a4 2.8 f 1999 6 auto(l~ 16 26 p comp~
## 6 audi a4 2.8 f 1999 6 manual~ 18 26 p comp~
## 7 audi a4 3.1 f 2008 6 auto(a~ 18 27 p comp~
## 8 audi a4 quat~ 1.8 4 1999 4 manual~ 18 26 p comp~
## 9 audi a4 quat~ 1.8 4 1999 4 auto(l~ 16 25 p comp~
## 10 audi a4 quat~ 2 4 2008 4 manual~ 20 28 p comp~
Comentarios