合并 quantmod::getSymbols 的输出
Merge output from quantmod::getSymbols
我看了很多关于合并 R 数据帧的条目,但是我不清楚它们,他们谈论 merging/joining 使用公共列,但在我的情况下它错过了或者我可能不知道如何提取。这就是我正在做的。
library(quantmod)
library(xts)
start = '2001-01-01'
end = '2015-08-14'
ticker = 'AAPL'
f = getSymbols(ticker, src = 'yahoo', from = start, to = end, auto.assign=F)
rsi14 <- RSI(f$AAPL.Adjusted,14)
我期望的输出是 f
和 rsi14
的所有列按日期匹配,但是 'date' 不能作为列使用,所以不确定如何加入。我也必须加入几个移动平均线列。
你提问的前提是错误的。 getSymbols
returns 一个 xts 对象,而不是 data.frame:
R> library(quantmod)
R> f <- getSymbols("AAPL", auto.assign=FALSE)
R> str(f)
An ‘xts’ object on 2007-01-03/2015-08-14 containing:
Data: num [1:2170, 1:6] 86.3 84 85.8 86 86.5 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:6] "AAPL.Open" "AAPL.High" "AAPL.Low" "AAPL.Close" ...
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
List of 2
$ src : chr "yahoo"
$ updated: POSIXct[1:1], format: "2015-08-15 00:46:49"
xts 对象没有 "Date" 列。它们有一个保存日期时间的 index
属性。 xts extends zoo,因此请参阅 zoo vignettes 以及 xts vignette 和 FAQ 以获取有关如何使用 类.
的信息
合并 xts 对象非常简单:
R> f <- merge(f, rsi14=RSI(Ad(f), 14))
或者您可以只使用 $<-
来 add/merge 现有 xts 对象的列:
R> f$rsi14 <- RSI(Ad(f), 14)
我看了很多关于合并 R 数据帧的条目,但是我不清楚它们,他们谈论 merging/joining 使用公共列,但在我的情况下它错过了或者我可能不知道如何提取。这就是我正在做的。
library(quantmod)
library(xts)
start = '2001-01-01'
end = '2015-08-14'
ticker = 'AAPL'
f = getSymbols(ticker, src = 'yahoo', from = start, to = end, auto.assign=F)
rsi14 <- RSI(f$AAPL.Adjusted,14)
我期望的输出是 f
和 rsi14
的所有列按日期匹配,但是 'date' 不能作为列使用,所以不确定如何加入。我也必须加入几个移动平均线列。
你提问的前提是错误的。 getSymbols
returns 一个 xts 对象,而不是 data.frame:
R> library(quantmod)
R> f <- getSymbols("AAPL", auto.assign=FALSE)
R> str(f)
An ‘xts’ object on 2007-01-03/2015-08-14 containing:
Data: num [1:2170, 1:6] 86.3 84 85.8 86 86.5 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:6] "AAPL.Open" "AAPL.High" "AAPL.Low" "AAPL.Close" ...
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
List of 2
$ src : chr "yahoo"
$ updated: POSIXct[1:1], format: "2015-08-15 00:46:49"
xts 对象没有 "Date" 列。它们有一个保存日期时间的 index
属性。 xts extends zoo,因此请参阅 zoo vignettes 以及 xts vignette 和 FAQ 以获取有关如何使用 类.
合并 xts 对象非常简单:
R> f <- merge(f, rsi14=RSI(Ad(f), 14))
或者您可以只使用 $<-
来 add/merge 现有 xts 对象的列:
R> f$rsi14 <- RSI(Ad(f), 14)