首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中的错误消息:尝试在少于两个维度的对象上设置‘colname’

R中的错误消息:尝试在少于两个维度的对象上设置‘colname’
EN

Stack Overflow用户
提问于 2021-01-02 07:07:41
回答 1查看 159关注 0票数 1

我有代码,当我没有对它施加太多约束的时候,它就可以工作。然而,我想运行大量的约束。有没有办法帮助解决这个问题,或者解决这个错误。我在试着绘制一个有效的边界。谢谢。我在下面有数据时间序列的dput。

代码语言:javascript
运行
复制
library("fPortfolio")
library('fPortfolio')
data = SPISECTOR.RET
asset = dim(data)[2]

# I'm putting a lot of constraints here. I want to do this. 
# If I take away some of the constraints, the formula works. 
# But I don't want to take away the constraints.
constraints <- c('minW[1:asset]=0','maxW[1:asset]=0.3', 'minsumW[c("ACWI", "ACWX", "AGED", "CEMA", "CEMG", "CMXC", "CNYA", "COMF", "CSJP", "CSKR", "CSRU", "CSUK", "DGTL", "DLTM", "ECAR", "EEM", "EFA", "EIDO", "EIRL", "EMB", "ENOR", "EPHE", "EPOL", "EUSA", "GUNR", "HEAL", "ICDU", "ICSU", "IESU", "IGAA", "IH2O", "IHCU", "IHYA", "IIND", "IISU", "IITU", "IJS", "IJT", "IMSU", "INRG", "IQLT", "IUSU", "KWEB", "LAND", "LOCK", "MGK", "OPEN", "QQQ", "RBOT", "SAUS", "SPAG", "UIFS", "UNG", "USMV", "VB", "VNQ", "VNQI", "VTV", "VUG", "WOOD", "XFVT")]=0.01', 'maxsumW[c("ACWI", "ACWX", "AGED", "CEMA", "CEMG", "CMXC", "CNYA", "COMF", "CSJP", "CSKR", "CSRU", "CSUK", "DGTL", "DLTM", "ECAR", "EEM", "EFA", "EIDO", "EIRL", "EMB", "ENOR", "EPHE", "EPOL", "EUSA", "GUNR", "HEAL", "ICDU", "ICSU", "IESU", "IGAA", "IH2O", "IHCU", "IHYA", "IIND", "IISU", "IITU", "IJS", "IJT", "IMSU", "INRG", "IQLT", "IUSU", "KWEB", "LAND", "LOCK", "MGK", "OPEN", "QQQ", "RBOT", "SAUS", "SPAG", "UIFS", "UNG", "USMV", "VB", "VNQ", "VNQI", "VTV", "VUG", "WOOD", "XFVT")]=0.3', 'minsumW[c("BND", "CBON", "CRPA", "GLD", "SLV", "SPGP", "SWAN")]=0.01', 'maxsumW[c("BND", "CBON", "CRPA", "GLD", "SLV", "SPGP", "SWAN")]=0.3', 'minsumW[c("GLTL", "GLTS", "IBGE", "IBGY", "IBGZ", "IEF", "IGLT", "SEGA", "SHY", "TIP", "TLT", "VVUILG")]=0.01', 'maxsumW[c("GLTL", "GLTS", "IBGE", "IBGY", "IBGZ", "IEF", "IGLT", "SEGA", "SHY", "TIP", "TLT", "VVUILG")]=0.3')

spec <- portfolioSpec()
setNFrontierPoints(spec) <- 25
setSolver(spec)<- "solveRquadprog"

frontier <-portfolioFrontier(data, spec, constraints)

当我运行最后一行时,frontier <-portfolioFrontier(data, spec, constraints)得到错误:

代码语言:javascript
运行
复制
Error in `colnames<-`(`*tmp*`, value = names(getMu(Data))) : 
attempt to set 'colnames' on an object with less than two dimensions
EN

回答 1

Stack Overflow用户

发布于 2021-01-02 17:03:20

好的,我把它弄好了。我没有将约束加到一起,而是添加了其他库。现在一切都好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65534512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档