【问题标题】:Data.frame - combine rowsData.frame - 组合行
【发布时间】:2018-10-01 22:20:43
【问题描述】:

我正在尝试为某些股票的价格设置data.frame,但出现以下错误:

data.frame 中的错误(AAPL、AMZN、AXP、VW):参数暗示不同的行数:1259、1021

当这两个对象的行数不同时,如何组合它们?

【问题讨论】:

  • 也许你可以提供更多关于你想要做什么的信息? “与不同的行组合”是什么意思?
  • 不要合并为不同的列。将它们垂直堆叠并使用一列(作为一个因素)来表示一个股票代码。
  • 如果是 quantmod 他们在包中有合并功能

标签: r dataframe


【解决方案1】:

您可能会遇到错误,因为您正在尝试组合不同长度的股票价格向量。 AKA 你的数据集中的一些股票比其他股票有更多的历史。

此外,由于这些是时间序列数据,您确实应该有一个与每只股票相关联的日期/时间索引,以便您可以通过它们各自的日期/时间索引键 merge 它们。

幸运的是,R 为那些处理财务数据的人提供了一些出色的软件包来帮助您入门。作为一个可重现的示例,使用quantmod 下载数据,它会自动为每只股票创建xts 对象,并带有日期/时间索引。

stocks <- c("AAPL", "AMZN", "AXP", "VW") 

library(quantmod)
getSymbols(stocks)

接下来,使用merge.xts 组合您的股票,它会自动加入每个按日期索引。

stocksXTS <- merge.xts(AAPL, AMZN, AXP, VW)

如果您之后想要data.frame

stocksDF <- data.frame(stocksXTS)

就是这样!

【讨论】:

    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 2021-10-26
    • 2018-07-11
    相关资源
    最近更新 更多