首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置xts索引

设置xts索引
EN

Stack Overflow用户
提问于 2010-12-14 09:04:02
回答 2查看 3.7K关注 0票数 6

生成一个包含两行的xts对象。

代码语言:javascript
复制
library(xts)   
junk<-xts(c(1,2),as.Date(c("2010-01-01","2010-05-01")))   
junk   
>            [,1]
> 2010-01-01    1   
> 2010-05-01    2   

为什么下面的代码不更改第一行的索引?

代码语言:javascript
复制
time(junk[1])<-as.Date("2010-02-01")   
junk   
>            [,1]
> 2010-01-01    1   
> 2010-05-01    2   

我知道下面的方法是有效的,但是为什么上面的不起作用呢?

代码语言:javascript
复制
time(junk)[1]<-as.Date("2010-02-01")   
junk   
>            [,1]
> 2010-02-01    1   
> 2010-05-01    2   

谢谢,

帐单

EN

回答 2

Stack Overflow用户

发布于 2011-01-29 06:37:14

对这篇文章的直接回答是,正如乔希所说,魔力就在attr<-内部。首先设置对象子集只需创建一个新对象,该对象在<-完成后立即被处理。

此外,您还可以通过.index()函数查看索引的“内部结构”。本质上是一个双精度或整数类型的向量,映射到POSIXct时间-带有一些附加的属性。您正在分配的类将自动来回强制。这使得内部结构更易于维护-并允许您在外部使用任何需要的time类进行操作。

一般来说,Date将是避免TZ和secs麻烦的最干净的方法,但请记住,这个隐藏方面的成本是函数index()。这将不得不重新创建您期望的对象。

票数 6
EN

Stack Overflow用户

发布于 2010-12-14 10:53:33

代码语言:javascript
复制
time(junk[1]) <- as.Date("2010-02-01") 

上面的代码没有改变junk第一行的索引,因为子集创建了一个新对象--没有引用junk--而time<-.xts替换了新对象的索引。

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

https://stackoverflow.com/questions/4435011

复制
相关文章

相似问题

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