使用 dplyr 在 R 中插入新行而不指定列名

Ami*_*Shn 3 r dplyr

我想在数据框中插入一行,但我不想写列名称,因为这会使代码过于冗长。这就是我所知道的它的工作原理:

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

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

Run Code Online (Sandbox Code Playgroud)

这就是我希望它能起作用但事实并非如此:

df %>% add_row(c(4,0), .before = 3)

Run Code Online (Sandbox Code Playgroud)

有谁知道是否还有另一种方法可以用 dplyr 做到这一点?

Ron*_*hah 5

好吧,add_row需要名称-值对,但如果您不想明确提及它们,您可以自动创建它。

library(dplyr)

df %>% add_row(!!!setNames(c(4, 0), names(.)), .before = 3)

#      x     y
#  <dbl> <dbl>
#1     1     3
#2     2     2
#3     4     0
#4     3     1
Run Code Online (Sandbox Code Playgroud)