从现金流中获取特定行

时间:2015-08-16 22:49:09

标签: r quantmod

我正在尝试使用R中的getFinancials函数从现金流中获取数据。

library(quantmod)
s <- c("AAPL","GOOG","IBM","GS","AMZN","GE")
fin <- lapply(s, getFinancials, auto.assign=FALSE)
names(fin) <- s

但是当我试图用

获得特定的一行时
fin$AAPL$CF$A["Cash from Operating Activities"]
fin$AAPL$CF$A["Capital Expenditures"]

我得到NA回报。如何从现金流中获取这些特定的行?

1 个答案:

答案 0 :(得分:4)

由于fin$AAPL$CF$A是一个矩阵,因此您需要在名称后面加逗号,因为您要求输入。如果没有逗号,您需要一个名为&#34;来自运营活动的现金&#34;的向量元素,因为我们有一个矩阵,所以没有命名单个元素。

class(fin$AAPL$CF$A)
# [1] "matrix"
"Cash from Operating Activities" %in% rownames(fin$AAPL$CF$A)
# [1] TRUE

## no comma - NA because "Cash from Operating Activities" is not a named vector element
fin$AAPL$CF$A["Cash from Operating Activities"]
# [1] NA

这可以通过

更容易地说明
x <- 1
x["x"]
# [1] NA

由于x没有命名元素"x",因此我们获得了NA。你想要以下。

## with comma - asking for the row "Cash from Operating Activities"
fin$AAPL$CF$A["Cash from Operating Activities", ]
# 2014-09-27 2013-09-28 2012-09-29 2011-09-24 
#      59713      53666      50856      37529 

由于这些是矩阵,因此在逗号左侧请求行,在右侧请求列,在没有逗号的情况下请求单个命名元素。