我使用R中Quantmod包中的getFX函数从Oanda生成了一个利率向量,每个利率都是xts zoo格式。
currency_pairs <- c("GBP/USD", "USD/SGD")
rates <- getFX(currency_pairs, from="2019/01/01", to="2019/01/01"
这将以以下形式返回xts动物园对象的向量:
(GBPUSD, USDSGD,...)
但是我只想获得费率,因为我只需要一个日期的费率,因此知道时间戳记。
我试图像这样遍历向量:
for (i in 1:length(rates){
rates[i] <- coredata(rates[i])
}
但这只会返回货币对名称。
答案 0 :(得分:0)
在这种情况下,如果您只检索一个日期的数据,您可以做的事情就是sapply
,就像这样:
library(quantmod)
currency_pairs <- c("GBP/USD", "USD/SGD")
# for 1 date this will return a named vector otherwise use lapply
rates <- sapply(currency_pairs, getFX, from="2019/01/01", to="2019/01/01", auto.assign = FALSE)
rates
GBP/USD USD/SGD
1.275455 1.362920
通常我建议使用lapply检索大列表中的所有货币,然后使用lapply / mapply / Map / purrr :: map等访问列表。