为什么以下代码无效。 我想在我之前从tibble复制的tibble中添加一行。
library(dplyr)
library(tibble)
tiris <- as_tibble(iris)
new_row <- tiris %>% tail(1)
tiris <- tiris %>% add_row(new_row)
错误:列new_row
必须是1d原子向量或列表
答案 0 :(得分:4)
您创建的new_row
是一行tibble
,因此我认为您需要的是dplyr包中的bind_rows
函数,它可以合并两个tibble
1}}或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)
查看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