程式
PortfolioAnalytics R 包 - 函式“create.EfficientFrontier”出錯
問題
create.EfficientFrontier
包中的函式PortfolioAnalytics
正在輸出一條錯誤消息,內容如下:Error in `colnames<-`(`*tmp*`, value = c("mean", "StdDev", "out", "w.Asset1", : attempt to set 'colnames' on an object with less than two dimensions
到目前為止執行的故障排除沒有成功
- 搜尋相同的案例 - 發現一些具有相同錯誤消息但從不同函式輸出的案例
- 檢查共變異數矩陣是否不是正定的
- 最近更新了動物園包,所以我重新安裝了舊版本
- 除了我自己的程式碼之外,我還嘗試執行在兩個不同部落格中找到的範常式式碼,但是,一旦我嘗試執行函式“create.EfficientFrontier”,就會遇到完全相同的錯誤。
您可以查看以下連結以獲取程式碼和特定數據集,以嘗試重現我的錯誤:
來自 Ross Bennett(PortfolioAnalytics 開發人員)的 Efficient Frontier 展示
三個不同的數據集和相同的錯誤,所以我想我的 RStudio 可能有一些基本的配置錯誤問題。
關於罪魁禍首可能是什麼的任何想法?
提前致謝!
我遇到了同樣的問題。我不知道是什麼原因造成的,但我注意到如果您使用最新的 ROI 基礎架構(2016 年 6 月發布)會出現此錯誤,而如果您使用舊的 (2013) ROI 基礎架構(和舊外掛),該功能可以正常工作ins)在 CRAN 上仍然可用(見檔案)。
檢查您的數據是否存在重複值。如果您的數據中有任何重複項,則該函式似乎存在問題。查找重複項的最佳方法是先按字母順序排序!