不起作用的神秘货币

Mystery currency that doesn't work

目标:我正在尝试查找 67 种货币到美元的货币换算。

数据:这是货币列表:

currency <-c("ALL", "AMD", "AZN", "BIF", "BOB", "BRL", "BZD", "CLP", "CNY", 
"COP", "CRC", "DOP", "EGP", "EUR", "GEL", "GHS", "GTQ", "HNL", 
"HTG", "IDR", "ILS", "INR", "JOD", "KES", "KGS", "KHR", "LAK", 
"LBP", "LRD", "LSL", "MDL", "MGA", "MMK", "MNT", "MWK", "MXN", 
"MZN", "NAD", "NGN", "NIO", "NPR", "PEN", "PHP", "PKR", "PYG", 
"RWF", "SBD", "SLL", "SRD", "SSP", "THB", "TJS", "TRY", "TZS", 
"UAH", "UGX", "USD", "VND", "VUV", "WST", "XAF", "XCD", "XOF", 
"YER", "ZAR", "ZMW", "ZWD")

我做了什么:

使用 quantmod 库中的 getQuote 函数,我已经能够按如下方式获取大部分报价:

#Split list of 67 currencies into groups of 10
from_chunks <- split(currency),
      ceiling(seq_along(currency)/10))

#Get length of each group
length_chunks <- lapply(from_chunks,length)

#Make a vector of length equalt to from_chunks with desired currency USD. 
to_chunks <- lapply(length_chunks,rep,x="USD")

#Function that takes many currencies and converts them to one
quote_batches <- function(from,to){
return(quantmod::getQuote(paste0(from, to, "=X")))
}

#Apply to the entire list
mapply(quote_batches,from_chunks,to_chunks)

问题: 我遇到的问题以及将 67 种货币分成 10 组的原因是,并非所有块都是 运行。块 5 和 7 出现此错误:

Error in `.rowNamesDF<-`(x, value = value) : invalid 'row.names' length

对于其余的块,它工作正常:

为什么?请指教:)

SSPZWD 都会产生 404 错误。试试看:

quantmod::getQuote("SSP=X")
quantmod::getQuote("ZWD=X")

您可以使用循环轻松找到它

for (ccy in currency)
  tryCatch(quantmod::getQuote(paste0(ccy, "=X")), error = print)