为什么以下代码不起作用。我想在我之前从 tibble 复制的 tibble 中添加一行。
library(dplyr)
library(tibble)
tiris <- as_tibble(iris)
new_row <- tiris %>% tail(1)
tiris <- tiris %>% add_row(new_row)
Run Code Online (Sandbox Code Playgroud)
错误:列new_row必须是一维原子向量或列表
在new_row您创建是一个行tibble,所以我想你需要的是bind_rows从功能dplyr包,它可以将两个tibble或data frame按行。
library(dplyr)
library(tibble)
tiris <- as_tibble(iris)
new_row <- tiris %>% tail(1)
# Combine tiris and new_row
tiris <- tiris %>% bind_rows(new_row)
Run Code Online (Sandbox Code Playgroud)
查看 的最后两行tiris,它们是相同的。所以我认为bind_rows有效。
# View the results
tail(tiris, 2)
# # A tibble: 2 x 5
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# <dbl> <dbl> <dbl> <dbl> <fct>
# 1 5.90 3.00 5.10 1.80 virginica
# 2 5.90 3.00 5.10 1.80 virginica
Run Code Online (Sandbox Code Playgroud)