我正在尝试使用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回报。如何从现金流中获取这些特定的行?
答案 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
由于这些是矩阵,因此在逗号左侧请求行,在右侧请求列,在没有逗号的情况下请求单个命名元素。