首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从xts对象的子集减去xts对象

从xts对象的子集减去xts对象
EN

Stack Overflow用户
提问于 2013-05-31 22:47:33
回答 1查看 1.7K关注 0票数 3
代码语言:javascript
复制
con = gzcon(url('http://www.systematicportfolio.com/sit.gz', 'rb'))
source(con)
close(con)
load.packages("TTR,PerformanceAnalytics,quantmod,lattice")

#######################################################
#Get and Prep Data
#######################################################
data <- new.env()
tickers<-spl("VTI,IEF,TLT,DBC,VNQ,GLD")

getSymbols(tickers, src = 'yahoo', from = '1980-01-01', env = data)
for(i in ls(data)) data[[i]] = adjustOHLC(data[[i]], use.Adjusted=TRUE)

bt.prep(data, align='remove.na', dates='1990::2013')

我遇到了从xts对象中减去特定列的问题。

代码语言:javascript
复制
prices = data$prices
ret = prices / mlag(prices) - 1
ret - ret[,3]  #subtract column three from every other column don't seem to work

有没有快速的解决方案?

我试过了:

代码语言:javascript
复制
apply(ret,2,function(x) x - x[,3]) #doesn't seem to work

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-31 23:06:09

下一次,请提供一个可重现的最小示例。例如:

代码语言:javascript
复制
> library(xts)
> data(sample_matrix)
> x <- as.xts(sample_matrix)
> x-x[,1]
Error in `-.default`(x, x[, 1]) : non-conformable arrays
> apply(x, 2, function(y) y-x[,1])
Error in array(ans, c(len.a%/%d2, d.ans), if (!all(vapply(dn.ans, is.null,  : 
  length of 'dimnames' [1] not equal to array extent

问题是xts对象默认情况下有一个dim属性,并且在像矩阵和zoo类对象那样进行子集时不会删除它。你可以通过在你的子集调用中设置drop=TRUE来强制删除它。

代码语言:javascript
复制
> head(x-x[,1,drop=TRUE])
           Open       High         Low       Close
2007-01-02    0 0.07799532 -0.08936727  0.07799532
2007-01-03    0 0.19137980  0.00000000  0.16717014
2007-01-04    0 0.00000000 -0.15681864 -0.08859811
2007-01-05    0 0.00000000 -0.15243423 -0.03887316
2007-01-06    0 0.00000000 -0.13311797 -0.06320448
2007-01-07    0 0.08349916 -0.14025780 -0.14025780

这之所以有效,是因为x[,1,drop=TRUE]返回一个"vector xts“(即一个无量纲的xts对象),并且在-调用期间,该向量会沿着x循环。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16860040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档