Package dplyr version 1.1.4
relocate(.data, ..., .before = NULL, .after = NULL)
参数【.data】:数据集、数据集扩展(如 tibble)或 lazy data frames(如来自 dbplyr 或 dtplyr 的数据集)。
参数【...】:<tidy-select> 要移动的列。
参数【.before,.after】:<tidy-select> 通过参数【...】选择的列的目的地。两者都不提供会将列移动到左侧;同时指定两者则会出错。
与参数【.data】类型相同的对象。输出具有以下属性:
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(f)
# A tibble: 1 × 6
f a b c d e
1 a 1 1 1 a a
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(a, .after = c)
# A tibble: 1 × 6
b c a d e f
1 1 1 1 a a a
df %>% relocate(a, .after = last_col())
# A tibble: 1 × 6
b c d e f a
1 1 1 a a a 1
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(f, .before = b)
# A tibble: 1 × 6
a f b c d e
1 1 a 1 1 a a
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(ff = f)
# A tibble: 1 × 6
ff a b c d e
1 a 1 1 1 a a
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(where(is.character))
# A tibble: 1 × 6
d e f a b c
1 a a a 1 1 1
df %>% relocate(where(is.numeric), .after = last_col())
# A tibble: 1 × 6
d e f a b c
1 a a a 1 1 1
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df
# A tibble: 1 × 6
a b c d e f
1 1 1 1 a a a
df %>% relocate(any_of(c("a", "e", "i", "o", "u")))
# A tibble: 1 × 6
a e b c d f
1 1 a 1 1 a a
df2 <- tibble(a = 1, b = "a", c = 1, d = "a")
df2
# A tibble: 1 × 4
a b c d
1 1 a 1 a
df2 %>% relocate(where(is.numeric), .after = where(is.character))
# A tibble: 1 × 4
b d a c
1 a a 1 1
df2 %>% relocate(where(is.numeric), .before = where(is.character))
# A tibble: 1 × 4
a c b d
1 1 1 a a