我一直在尝试使用 R 中的 XBRL 包来尝试编写一个循环遍历公司并输出财务报表的函数,最好是在一个非常标准的数据框中。但是,我不明白输出。使用该函数,然后查看数据框,出现的只是最左边一列的总和,右边是各种 XML/XBRL/C++ 组件的右对齐 URL。我承认我对 XBRL 的了解很少,但我一定遗漏了一些东西。我将如何使用这个包的功能来循环和记录所有 XBRL 语句,格式化为最终用户可用的东西?
使用 pdf 指南中的示例很容易,但打印出来的结果很奇怪,我不知道如何将其放入正确的数据框中:
## Setting stringsAsFactors = FALSE is highly recommended
## to avoid data frames to create factors from character vectors.
options(stringsAsFactors = FALSE)
## Load the library
library(XBRL)
## XBRL instance file to be analyzed, accessed
## directly from SEC website:
inst <- "http://www.sec.gov/Archives/edgar/data/21344/000002134413000050/ko-20130927.xml"
## Level 1: Function that does all work and returns
## a list of data frames with extracted information:
## Not run:
xbrl.vars <- xbrlDoAll(inst, verbose=TRUE)
对此的总结给出了一堆不同行长的列表:
summary(xbrl.vars) 长度 类 模式元素 7 data.frame 列表角色 5 data.frame 列表计算 11 data.frame 列表上下文 13 data.frame 列表单元 4 data.frame 列表事实 7 data.frame 列表脚注 5 data.frame列表定义 11 data.frame 列表标签 5 data.frame 列表表示 11 data.frame 列表
这可能很简单,因为我不理解 R 中的 data.frame 列表(列表列表?data.frames 列表?)。如果是这样,我为一个愚蠢的问题道歉(由于其他原因它可能很愚蠢)。我尝试使用此问题答案底部的解决方案:list of lists with different lengths to data.frame in R。所以: xbrl.vars2<-as.data.frame(as.matrix(xbrl.vars)) 这对我来说很愚蠢,因为当行数不同时,R 如何制作矩阵?它似乎使 R 冻结。
感谢您的任何帮助。