使用 relocate()
更改列位置,使用与 select()
相同的语法,以便轻松一次移动列块。
参数
- .data
-
数据帧、数据帧扩展(例如 tibble)或惰性数据帧(例如来自 dbplyr 或 dtplyr)。有关更多详细信息,请参阅下面的方法。
- ...
-
<
tidy-select
> 要移动的列。 - .before, .after
-
<
tidy-select
>...
选择的列的目标。两者都不提供会将列移动到左侧;指定两者都是错误的。
方法
该函数是泛型函数,这意味着包可以为其他类提供实现(方法)。有关额外参数和行为差异,请参阅各个方法的文档。
加载的包中当前提供以下方法: dbplyr ( tbl_lazy
)、dplyr ( data.frame
) 。
例子
df <- tibble(a = 1, b = 1, c = 1, d = "a", e = "a", f = "a")
df %>% relocate(f)
#> # A tibble: 1 × 6
#> f a b c d e
#> <chr> <dbl> <dbl> <dbl> <chr> <chr>
#> 1 a 1 1 1 a a
df %>% relocate(a, .after = c)
#> # A tibble: 1 × 6
#> b c a d e f
#> <dbl> <dbl> <dbl> <chr> <chr> <chr>
#> 1 1 1 1 a a a
df %>% relocate(f, .before = b)
#> # A tibble: 1 × 6
#> a f b c d e
#> <dbl> <chr> <dbl> <dbl> <chr> <chr>
#> 1 1 a 1 1 a a
df %>% relocate(a, .after = last_col())
#> # A tibble: 1 × 6
#> b c d e f a
#> <dbl> <dbl> <chr> <chr> <chr> <dbl>
#> 1 1 1 a a a 1
# relocated columns can change name
df %>% relocate(ff = f)
#> # A tibble: 1 × 6
#> ff a b c d e
#> <chr> <dbl> <dbl> <dbl> <chr> <chr>
#> 1 a 1 1 1 a a
# Can also select variables based on their type
df %>% relocate(where(is.character))
#> # A tibble: 1 × 6
#> d e f a b c
#> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 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
#> <chr> <chr> <chr> <dbl> <dbl> <dbl>
#> 1 a a a 1 1 1
# Or with any other select helper
df %>% relocate(any_of(c("a", "e", "i", "o", "u")))
#> # A tibble: 1 × 6
#> a e b c d f
#> <dbl> <chr> <dbl> <dbl> <chr> <chr>
#> 1 1 a 1 1 a a
# When .before or .after refers to multiple variables they will be
# moved to be immediately before/after the selected variables.
df2 <- tibble(a = 1, b = "a", c = 1, d = "a")
df2 %>% relocate(where(is.numeric), .after = where(is.character))
#> # A tibble: 1 × 4
#> b d a c
#> <chr> <chr> <dbl> <dbl>
#> 1 a a 1 1
df2 %>% relocate(where(is.numeric), .before = where(is.character))
#> # A tibble: 1 × 4
#> a c b d
#> <dbl> <dbl> <chr> <chr>
#> 1 1 1 a a
相关用法
- R dplyr recode 重新编码值
- R dplyr rename 重命名列
- R dplyr reframe 将每个组转换为任意数量的行
- R dplyr row_number 整数排名函数
- R dplyr rowwise 按行对输入进行分组
- R dplyr rows 操作单独的行
- R dplyr group_trim 修剪分组结构
- R dplyr slice 使用行的位置对行进行子集化
- R dplyr copy_to 将本地数据帧复制到远程src
- R dplyr sample_n 从表中采样 n 行
- R dplyr consecutive_id 为连续组合生成唯一标识符
- R dplyr band_members 乐队成员
- R dplyr mutate-joins 变异连接
- R dplyr nth 从向量中提取第一个、最后一个或第 n 个值
- R dplyr coalesce 找到第一个非缺失元素
- R dplyr group_split 按组分割 DataFrame
- R dplyr mutate 创建、修改和删除列
- R dplyr order_by 用于排序窗口函数输出的辅助函数
- R dplyr context 有关“当前”组或变量的信息
- R dplyr percent_rank 比例排名函数
- R dplyr starwars 星球大战人物
- R dplyr desc 降序
- R dplyr between 检测值落在指定范围内的位置
- R dplyr cumall 任何、全部和平均值的累积版本
- R dplyr group_map 对每个组应用一个函数
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Change column order。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。