Привет, я написал код, который должен получать финансовые данные от Фреда.Предполагается получить все данные, а затем поместить данные в пустую матрицу.
Это кажется немного сложнее, чем я думал.Например:
tickers = c("AAA", "BAA", "TB3MS")
###HÄMTAR DATA###
library(quantmod)
var = noquote(tickers)
getSymbols(tickers, src = "FRED")
#kontrollera längderna och skapa en vector med längderna
vector = c()
for (v in 1:length(var)) {
vector[v] = length(get(var[v]))
}
minsta = min(vector)
längsta = max(vector)
emptym = matrix( nrow = längsta, ncol = length(tickers)+1)
for (i in 1:length(var)) {
emptym[,i] = get(var[i])
}
, но поскольку TB3MS короче, чем два других набора, я получаю ошибку.
"number of items to replace is not a multiple of replacement length"
Я пытаюсь понять, как обойти это?Сделать цикл for внутри цикла for?
Я также пробовал этот:
cbind.fill <- function(...){
nm = list(...)
nm = lapply(nm, as.matrix)
n = max(sapply(nm, nrow))
do.call(cbind, lapply(nm, function (x)
rbind(x, matrix(, n-nrow(x), ncol(x)))))
}
Но этот дает NA в конце, мне нужно NA с самого начала, а затем заполнитьэто с данными.