使用 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。