r - 我不断收到错误消息“eff_weights[i, ] <- eff.port$pw 中的错误:要替换的项目数不是替换长度的倍数”
问题描述
我是 R 新手,真的需要一些帮助。我不断收到错误消息
“eff_weights[i, ] <- eff.port$pw 中的错误:要替换的项目数不是替换长度的倍数”
当我运行循环时。有人可以帮我弄清楚我做错了什么。非常感谢您!
# 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
}
解决方案
如果没有您的数据样本或虚拟数据来重现问题,就很难提供特定的解决方案。但是,在您的循环中,您将列中的值向量分配给eff.port$pw
数据框或矩阵的第 i 行eff_weights[i, ]
。错误消息是说它们的长度不同 - 使用length()
ordim()
函数来比较这两者的长度。您的向量eff.port$pw
和行eff_weight[i,]
的长度必须相同。
推荐阅读
- angular - 如何验证在另一个formGroup中声明的formGroup中的输入
- python - 对于 nlp,是否有任何带有发音字母的文本语料库?
- python - 使用 asyncio.wait_for 和 asyncio.Semaphore 时如何正确捕获 concurrent.futures._base.TimeoutError?
- python-3.x - sqlalchemy 如何将数据库中的每一行视为一个列表并遍历每个列表?
- c# - 遍历具有另一个列表的列表,该列表具有另一个列表等
- c++ - CMake 的 VS_PACKAGE_REFERENCES 未添加对 VS2017 项目的引用
- postgresql - 在 select 语句中从字符串中删除某些字符
- python - Python vs Shell:大文件操作的性能
- svelte - 在 sapper 中更新身体背景颜色
- amazon-web-services - 如何从具有数组数据的列中选择值