r - GetQuote:`.rowNamesDF <-`(x,value = value)中的错误:无效的'row.names'长度getsymbols
问题描述
我想从 Qunatmod 获取所有符号,并使用所有 getquote 结果制作一个数据帧。
symbols <- stockSymbols()
symbols <- symbols[,1]
symbols <- unique(symbols)
df <- getQuote((symbols))
“下载集:1、2、3,.rowNamesDF<-
(x,值=值)中的错误:'row.names'长度无效”
我收到无效的 row.names 长度错误。
解决方案
发生这种情况是因为存在无法返回的符号。这也可能与 Yahoo 上的音量限制请求有关。查看帮助页面了解详细信息。
解决此问题的一种方法是利用try()
. 像这样的东西在前 1000 个符号上对我有用:
library(data.table)
dat <- lapply(symbols, function(x) try(getQuote(x)))
#create boolean for the symbols that retuned correctly
is_df <- sapply(dat, is.data.frame)
#bind them together
out <- rbindlist(dat[is_df], use.names = TRUE, fill = TRUE)
#add the names back
out[, Symbol := symbols[is_df]]
推荐阅读
- python - 如何使用 Folium 更正“ValueError:无法渲染缺少任何几何图形的对象”
- python - mypy 在 Dict 外部报告错误但不在内部
- laravel - 无法让 Livewire 事件 Emit 和 Listen 工作
- python - 在 VPS 上运行本地 Python 脚本
- visual-studio-code - Visual Studio 代码在 Mac OS 上的哪里存储终端的输出?
- c# - 如何使用元组列表编写以匹配具有 NPOI C# 的 excel 文件中的正确值?
- node.js - 使用 Firebase 规则单元测试库时,当文档具有 Firestore Geopoint 字段时,始终无法创建文档
- angular - 在 ngx-device-detector 中找不到 DeviceDetectorModule
- django - Django 在提交表单时插入 user_id (ForeignKey)
- php - 使用 laravel 显示可用的插槽