当前位置 : 首页 » 互动问答 » 正文

R:如何在一个Tibble中访问一个Tibble?

分类 : 互动问答 | 发布时间 : 2018-04-27 15:06:17 | 评论 : 1 | 浏览 : 43 | 喜欢 : 0

我正在阅读哈德利的 http://r4ds.had.co.nz/tibbles.html

但是,我仍然很难引用tibble中的tibble。<notranslate >> library(tidyquant) > f < - tq_get(“F”,get =“key.ratios”) > f #一个蹒跚:7 x 2             节数据               <chr> <list> 1财务<tibble [150 x 5]> 2盈利能力<tibble [170 x 5]> 3增长<tibble [160 x 5]> 4现金流<tibble [50 x 5]> 5财政健康<tibble [240 x 5]> 6效率比<tibble [80 x 5]> 7估值比率<tibble [40 x 5]> > f [“财务”] 错误:找不到“财务”列 > f [[“财务”]] 空值 > f $财务 空值 警告信息: 未知或未初始化的列:“财务”。 > f $ data [[f $ section =='Financials']] f $ data错误[[f $ section ==“Financials”]]:   尝试在integerOneIndex中选择少于一个元素 > f $ data [[1]] $财务 空值 警告信息: 未知或未初始化的列:“财务”。

> library(tidyquant)
> f <- tq_get("F", get="key.ratios")
> f
# A tibble: 7 x 2
            section               data
              <chr>             <list>
1        Financials <tibble [150 x 5]>
2     Profitability <tibble [170 x 5]>
3            Growth <tibble [160 x 5]>
4         Cash Flow  <tibble [50 x 5]>
5  Financial Health <tibble [240 x 5]>
6 Efficiency Ratios  <tibble [80 x 5]>
7  Valuation Ratios  <tibble [40 x 5]>

> f["Financials"]
Error: Column `Financials` not found

> f[["Financials"]]
NULL

> f$Financials
NULL
Warning message:
Unknown or uninitialised column: 'Financials'. 

> f$data[[f$section == 'Financials']]
Error in f$data[[f$section == "Financials"]] : 
  attempt to select less than one element in integerOneIndex

> f$data[[1]]$Financials
NULL
Warning message:
Unknown or uninitialised column: 'Financials'. 

回答(1)

  • 1楼
  • From tidyquant's documentation , using tq_get(symbol,get =“key.ratios”)返回一个嵌套的tibble。在tibble的“数据”列中,还有其他表格,其中包含:section,sub.section,group,category和date。

    最初尝试访问主数据框中名为“Financials”的列,但不存在这样的列(它只有“部分”和“数据”)。相反,“财务”是“部分”栏的一个元素(行)。我认为你需要:

     filter(f,section ==“Financials”)%>%unnest()

相关阅读: