我想在数据框中插入一行,但我不想写列名称,因为这会使代码过于冗长。这就是我所知道的它的工作原理:
# 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 做到这一点?
好吧,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)
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |