【发布时间】: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
为什么?请指教:)
【问题讨论】: