当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。