【问题标题】:Best way to add two time series data with same time frame to a single dataframe or xts data将具有相同时间帧的两个时间序列数据添加到单个数据帧或 xts 数据的最佳方法
【发布时间】:2016-08-01 14:40:51
【问题描述】:

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

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

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

【问题讨论】:

  • 使用连接函数c(goo, yoo)

标签: r dataframe xts


【解决方案1】:
foo <-append(goo,yoo)

在执行此操作之前,您可能希望更改列标题并提供一个指示来源“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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-02
    • 1970-01-01
    • 2018-11-17
    • 2020-12-04
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    相关资源
    最近更新 更多