Я получаю сообщение об ошибке «Ошибка в eff_weights [i,] <- eff.port $ pw: количество заменяемых элементов не кратно длине замены» - PullRequest
1 голос
/ 03 апреля 2020

Я новичок в R и действительно нуждаюсь в помощи. Я получаю сообщение об ошибке

"Ошибка в eff_weights [i,] <- eff.port $ pw: количество заменяемых элементов не кратно длине замены" </p>

когда я запускаю l oop. Может кто-нибудь помочь мне понять, что я делаю неправильно. Большое спасибо заранее!

 # Create for loop to find efficient frontier

for (i in 1 : length(grid)) {
   eff.port <- portfolio.optim(returns, pm = grid[i], shorts =TRUE)
   vector_pm[i] <- eff.port$pm
   vector_psd[i] <- eff.port$ps
   eff_weights[i, ] <- eff.port$pw
}

1 Ответ

0 голосов
/ 03 апреля 2020

Без образца ваших данных или фиктивных данных для воспроизведения проблемы трудно найти определенное решение. Однако в вашем l oop вы присваиваете вектор значений из столбца eff.port$pw i-й строке кадра данных или матрицы eff_weights[i, ]. В сообщении об ошибке указано, что они имеют разную длину - используйте функции length() или dim(), чтобы сравнить длины этих двух. Ваш вектор eff.port$pw и строка eff_weight[i,] должны быть одинаковой длины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...