从现金流量中获取特定行

Getting specific line from Cash Flow

我正在尝试使用 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 return。如何从现金流量中获取这些特定行?

因为 fin$AAPL$CF$A 是一个矩阵,所以你需要在名称后加一个逗号,因为你要的是 row 名称。没有逗号,您要求的是一个名为 "Cash from Operating Activities" 的向量元素,并且由于我们有一个矩阵,因此各个元素未命名。

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 

由于这些是矩阵,行在逗号左侧,列在右侧,单个命名元素没有逗号。