當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R tibble add_column 將列添加到 DataFrame


這是向現有 DataFrame 添加一個或多個列的便捷方法。

用法

add_column(
  .data,
  ...,
  .before = NULL,
  .after = NULL,
  .name_repair = c("check_unique", "unique", "universal", "minimal")
)

參數

.data

要附加到的 DataFrame 。

...

< dynamic-dots > Name-value 對,傳遞給 tibble() 。所有值必須具有相同的 .data 大小或大小 1。

.before, .after

基於一的列索引或列名稱添加新列的位置,默認值:最後一列之後。

.name_repair

有問題的列名的處理:

  • "minimal":沒有名稱修複或檢查,超出基本存在,

  • "unique" :確保名稱唯一且不為空,

  • "check_unique" :(默認值),沒有名稱修複,但檢查它們是 unique

  • "universal" :命名為 unique 和語法

  • 函數:應用自定義名稱修複(例如,.name_repair = make.names 用於基本 R 樣式的名稱)。

  • purrr-style 匿名函數,請參閱rlang::as_function()

此參數作為 repair 傳遞到 vctrs::vec_as_names() 。有關這些條款以及用於執行這些條款的策略的更多詳細信息,請參閱此處。

也可以看看

其他補充:add_row()

例子

# add_column ---------------------------------
df <- tibble(x = 1:3, y = 3:1)

df %>% add_column(z = -1:1, w = 0)
#> # A tibble: 3 × 4
#>       x     y     z     w
#>   <int> <int> <int> <dbl>
#> 1     1     3    -1     0
#> 2     2     2     0     0
#> 3     3     1     1     0
df %>% add_column(z = -1:1, .before = "y")
#> # A tibble: 3 × 3
#>       x     z     y
#>   <int> <int> <int>
#> 1     1    -1     3
#> 2     2     0     2
#> 3     3     1     1

# You can't overwrite existing columns
try(df %>% add_column(x = 4:6))
#> Error in add_column(., x = 4:6) : 
#>   Column name `x` must not be duplicated.
#> Use `.name_repair` to specify repair.
#> Caused by error in `repaired_names()` at tibble/R/names.R:14:2:
#> ! Names must be unique.
#> ✖ These names are duplicated:
#>   * "x" at locations 1 and 3.

# You can't create new observations
try(df %>% add_column(z = 1:5))
#> Error in add_column(., z = 1:5) : 
#>   New columns must be compatible with `.data`.
#> ✖ New column has 5 rows.
#> ℹ `.data` has 3 rows.

源代碼:R/add.R

相關用法


注:本文由純淨天空篩選整理自Kirill Müller等大神的英文原創作品 Add columns to a data frame。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。