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


R tibble add_row 将行添加到 DataFrame


这是向现有 DataFrame 添加一行或多行数据的便捷方法。请参阅tribble() 了解创建完整 DataFrame row-by-row 的简单方法。使用tibble_row()确保新数据只有一行。

add_case()add_row() 的别名。

用法

add_row(.data, ..., .before = NULL, .after = NULL)

参数

.data

要附加到的 DataFrame 。

...

< dynamic-dots > Name-value 对,传递给 tibble() 。只能为 .data 中已存在的列定义值,未设置的列将获得 NA 值。

.before, .after

基于一的行索引在何处添加新行,默认值:最后一行之后。

也可以看看

其他补充:add_column()

例子

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

df %>% add_row(x = 4, y = 0)
#> # A tibble: 4 × 2
#>       x     y
#>   <dbl> <dbl>
#> 1     1     3
#> 2     2     2
#> 3     3     1
#> 4     4     0

# You can specify where to add the new rows
df %>% add_row(x = 4, y = 0, .before = 2)
#> # A tibble: 4 × 2
#>       x     y
#>   <dbl> <dbl>
#> 1     1     3
#> 2     4     0
#> 3     2     2
#> 4     3     1

# You can supply vectors, to add multiple rows (this isn't
# recommended because it's a bit hard to read)
df %>% add_row(x = 4:5, y = 0:-1)
#> # A tibble: 5 × 2
#>       x     y
#>   <int> <int>
#> 1     1     3
#> 2     2     2
#> 3     3     1
#> 4     4     0
#> 5     5    -1

# Use tibble_row() to add one row only
df %>% add_row(tibble_row(x = 4, y = 0))
#> # A tibble: 4 × 2
#>       x     y
#>   <dbl> <dbl>
#> 1     1     3
#> 2     2     2
#> 3     3     1
#> 4     4     0
try(df %>% add_row(tibble_row(x = 4:5, y = 0:-1)))
#> Error in tibble_quos(xs, .rows = 1, .name_repair = .name_repair, single_row = TRUE) : 
#>   All vectors must be size one, use `list()` to wrap.
#> ✖ Column `x` is of size 2.

# Absent variables get missing values
df %>% add_row(x = 4)
#> # A tibble: 4 × 2
#>       x     y
#>   <dbl> <int>
#> 1     1     3
#> 2     2     2
#> 3     3     1
#> 4     4    NA

# You can't create new variables
try(df %>% add_row(z = 10))
#> Error in add_row(., z = 10) : New rows can't add columns.
#> ✖ Can't find column `z` in `.data`.
源代码:R/add.R

相关用法


注:本文由纯净天空筛选整理自Kirill Müller等大神的英文原创作品 Add rows to a data frame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。