【发布时间】:2019-09-28 12:31:01
【问题描述】:
我有多个 xts 类的数据框,收集在一个列表中,我想使用 bind_rows 将其合并到一个数据框,但保留行名。
library(xts)
library(dplyr)
data <- data.frame(a = c(1, 2, 3),
b = c(4, 5, 6))
dates <- as.Date(c("2019-01-31", "2019-02-28", "2019-03-31"))
假设具有以下三个 xts 数据帧是起点:
ts_data_1 <- as.xts(data[1, ], order.by = dates[1])
ts_data_2 <- as.xts(data[2, ], order.by = dates[2])
ts_data_3 <- as.xts(data[3, ], order.by = dates[3])
ts_list <- list(ts_data_1, ts_data_2, ts_data_3)
bind_rows(ts_list)
但这不起作用并返回错误:“bind_rows_(x, .id) 中的错误:参数 1 必须有名称”。
我想这个错误是由于命名的行而发生的。我不想将它们移到新的列或摆脱它们。有没有一种巧妙的方法来做到这一点?
【问题讨论】:
-
不是因为命名的行,而是因为,正如错误所说,参数 1(
ts_list,ts_data_1中的第一项)没有名称,即 column 名字