将具有相同时间帧的两个时间序列数据添加到单个数据帧或 xts 数据的最佳方法

Best way to add two time series data with same time frame to a single dataframe or xts data

是否可以将具有相同时间帧的两个时间序列数据添加为单个数据帧。

ibrary("quantmod")
startDate = as.Date("2016-03-01")
goo= getSymbols("GOOG",from=startDate, auto.assign=F)
yoo= getSymbols("IBM",from=startDate, auto.assign=F)
dim(goo)
[1] 28  6
dim(yoo)
[1] 28  6
foo=merge(goo,yoo)
dim(foo)
[1] 28 12
#expected rows and columns 56 6

此处提供了两只股票的 OHLC 价格详细信息,我想将两只股票的 OHLC 价格保存在一个数据框中。我尝试使用 merge 函数,但它添加了两只股票的 OHLC 作为单独的列。我想在同一列中连接两只股票的相应 OHLC 价格和数量

例如 googles 和 IBM 单列收盘价

我还尝试将 xts 转换为数据帧并将它们合并

a=data.frame(goo)
b=data.frame(yoo)
c=merge(a,b)
dim(c)
[1] 784  12

连接这些数据的最佳方式是什么

foo <-append(goo,yoo)

在执行此操作之前,您可能需要更改列 headers 并提供一列指示来源 "GOOG" 或 "IBM"。

goo$source <-"GOOG"
you$source <-"IBM"

names(goo) <-c("Open","High","Low","Close","Volumn","Adjusted")
names(yoo) <-c("Open","High","Low","Close","Volumn","Adjusted")

foo<-append(goo,yoo)