【问题标题】:Mystery currency that doesn't work不起作用的神秘货币
【发布时间】:2018-06-18 13:50:18
【问题描述】:

目标:我正在尝试查找 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")

我做了什么:

使用quantmodlibrary 中的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

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

为什么?请指教:)

【问题讨论】:

    标签: r list quantmod


    【解决方案1】:

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

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

    您可以使用循环轻松找到此内容

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

    【讨论】:

    • 天啊,非常感谢。这让我发疯了。也感谢tryCatch 的介绍。
    猜你喜欢
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多