我正在尝试为某些股票的价格设置data.frame
,但是出现以下错误:
data.frame(AAPL,AMZN,AXP,VW)中的错误:参数暗示行数不同:1259、1021
当两个对象的行数不同时,如何合并?
答案 0 :(得分:0)
您可能会遇到错误,因为您试图合并长度不同的股票价格向量。也就是您数据集中的某些股票比其他股票具有更多的历史记录。
此外,由于这些是时间序列数据,因此您确实应该为每个股票指定一个日期/时间索引,以便您可以通过它们各自的日期/时间索引键merge
将它们全部{1>}。
幸运的是,R为处理财务数据的人员提供了一些出色的软件包,以帮助您入门。作为可重现的示例,使用quantmod
下载数据,该操作会自动为每只股票创建xts
对象,并带有日期/时间索引。
stocks <- c("AAPL", "AMZN", "AXP", "VW")
library(quantmod)
getSymbols(stocks)
接下来,使用merge.xts
合并您的股票,该{@ 1自动按日期索引合并每个股票。
stocksXTS <- merge.xts(AAPL, AMZN, AXP, VW)
之后,如果您想要data.frame
:
stocksDF <- data.frame(stocksXTS)
就是这样!