如何合并日期略有不同的 xts 数据集
How to combine xts datasets with slightly different dates
我一直在使用来自多个来源的数据研究财务模型,例如 Yahoo 和 FRED 通过 quantmod,returns 一种 xts 数据类型。
我可以从 Yahoo 获取数据集,没问题。我还设法将 52 周 hi/low 和移动平均线等内容添加为数据集中的列。我现在的问题是,如何添加一个全新的数据集?因此,除了我的所有专栏之外,我还想添加一个使用 FRED 利率的专栏。主要问题是日期略有不同,因为债券和股票市场有不同的假期。合并这些数据集的最佳方式是什么?我不介意并且有兴趣使用 na.spline() 来填充缺失的数据。
require(quantmod)
fiveYearsAgo = Sys.Date() - (365 * 5) # This is not exactly five years
bondIndex <- getSymbols("LQD",src="google",from = fiveYearsAgo, auto.assign = FALSE)[,c(0,4)]
print (bondIndex[,1]) # works
bondIndex$fedFund <- na.spline(getSymbols("DFF", src = "FRED", from = fiveYearsAgo, auto.assign = FALSE),na.rm = TRUE)
print (bondIndex[,2]) #Has a trailing NA
print (bondIndex) #Has a mix of NA
您要查找的是 merge
函数。像
merge(bondIndex[,1], bondIndex[,2], all = TRUE)
我一直在使用来自多个来源的数据研究财务模型,例如 Yahoo 和 FRED 通过 quantmod,returns 一种 xts 数据类型。
我可以从 Yahoo 获取数据集,没问题。我还设法将 52 周 hi/low 和移动平均线等内容添加为数据集中的列。我现在的问题是,如何添加一个全新的数据集?因此,除了我的所有专栏之外,我还想添加一个使用 FRED 利率的专栏。主要问题是日期略有不同,因为债券和股票市场有不同的假期。合并这些数据集的最佳方式是什么?我不介意并且有兴趣使用 na.spline() 来填充缺失的数据。
require(quantmod)
fiveYearsAgo = Sys.Date() - (365 * 5) # This is not exactly five years
bondIndex <- getSymbols("LQD",src="google",from = fiveYearsAgo, auto.assign = FALSE)[,c(0,4)]
print (bondIndex[,1]) # works
bondIndex$fedFund <- na.spline(getSymbols("DFF", src = "FRED", from = fiveYearsAgo, auto.assign = FALSE),na.rm = TRUE)
print (bondIndex[,2]) #Has a trailing NA
print (bondIndex) #Has a mix of NA
您要查找的是 merge
函数。像
merge(bondIndex[,1], bondIndex[,2], all = TRUE)