Я очень плохо знаком с R. Я получаю код ошибки следующим образом:
Error in data.mat.d[, i] <- i.prices : number of items to replace is not a multiple of replacement length`
Я скачал финансовую ежедневную доходность для 50 портфельных компаний из Yahoo! Финансирование с использованием функции «for» и «get.hist.quotes» из пакета tseries. Похоже, что данные Yahoo для первой компании не вписываются в матрицу «data.mat.d» (матрица данных ежедневно).
Я попытался изменить диапазон дат для матрицы и функции, получающей данные из Yahoo. Однако я не уверен, какие у меня есть варианты.
time.period.d <- seq(as.Date("2000/2/1"), as.Date("2018/12/31"), "months")
N <- length(sector.codes)
T.d <- length(time.period.d)
data.mat.d <- matrix(0, nrow = T.d, ncol = N)
dimnames(data.mat.d) <- list(time.period.d, sector.codes)
for(i in sector.codes) {
i.prices <- get.hist.quote(instrument = i, start = "2000/2/1", end = "2018/12/31",
quote = "AdjClose", provider = "yahoo", origin = "1970/01/01",
compression = "d", retclass = "zoo")
index(i.prices) <- as.yearmon(index(i.prices))
data.mat.d[ , i] <- i.prices
}
Я ожидаю, что он извлечет необходимые данные и введет в матрицу без ошибок (как показано выше), так же, как мы выполнили работу для наших ежемесячных данных.