R 我一直收到错误消息“quot;有效权重中的错误[i,]<;-有效端口$pw:要更换的项目数量不是更换长度的倍数;

R 我一直收到错误消息“quot;有效权重中的错误[i,]<;-有效端口$pw:要更换的项目数量不是更换长度的倍数;,r,R,我是新手,真的需要一些帮助。我一直收到错误信息 “eff_weights[i,]中的错误如果没有数据样本或伪数据来重现问题,则很难提供特定的解决方案。但是,在循环中,您将一列eff.port$pw中的值向量分配给数据帧或矩阵的第i行eff_weights[i,]。错误消息表示长度不同-使用length()或dim()函数比较这两个的长度。您的向量eff.port$pw和行eff_weight[i,]必须具有相同的长度。如果没有数据样本或虚拟数据来重现问题,则很难提供特定的解决方案。但是,在循环中

我是新手,真的需要一些帮助。我一直收到错误信息


“eff_weights[i,]中的错误如果没有数据样本或伪数据来重现问题,则很难提供特定的解决方案。但是,在循环中,您将一列
eff.port$pw
中的值向量分配给数据帧或矩阵的第i行
eff_weights[i,]
。错误消息表示长度不同-使用
length()
dim()
函数比较这两个的长度。您的向量
eff.port$pw
和行
eff_weight[i,]
必须具有相同的长度。

如果没有数据样本或虚拟数据来重现问题,则很难提供特定的解决方案。但是,在循环中,您将列
eff.port$pw
中的值向量分配给数据帧或矩阵的第i行
eff_weights[i,]
。错误消息表示长度不同-使用
length()
dim()
函数比较这两个的长度。您的向量
eff.port$pw
和行
eff_weight[i,]
必须是相同的长度。

请尝试创建一个可复制的示例:请尝试创建一个可复制的示例:非常感谢您查看此示例。这就是我为eff\u port$pw[1]2.2342660-0.2146492-0.1278270 0.2958349-0.9179933-0.3243578-0.2562219[8]0.3109482所做的内容。您能做
dim(eff\u port$pw)吗
dim(有效权重[1,])
并将结果作为评论发布在此处,请参见dim(有效权重[1,])错误:找不到对象“eff_-weight”。我已将以下内容指定给eff_-weight。eff_-weight我可以让它工作!我只需要将30改为8,它就运行得很好。感谢您的帮助!因为它解决了您的问题,您应该接受答案。非常感谢您的关注。这就是我为eff_-port$pw准备的内容[1] 2.2342660-0.2146492-0.1278270 0.2958349-0.9179933-0.3243578-0.2562219[8]0.3109482您可以做
dim(eff_port$pw)
dim(eff_-weight[1,])
并将结果作为评论发布在这里,请查看dim(eff_-weight[1,]错误:找不到对象“eff_-weight”。我已将以下内容指定给eff_-weight。eff_-weights我能够使其工作!我只需要将30更改为8,它运行正常。感谢您的帮助!因为它解决了您的问题,您应该接受答案
 # 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
}