首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rbind.zoo似乎没有创建一致的zoo对象

rbind.zoo似乎没有创建一致的zoo对象
EN

Stack Overflow用户
提问于 2009-12-14 11:54:15
回答 2查看 576关注 0票数 0

我想rbind.zoo两个动物园的对象在一起。当我在测试时,我遇到了以下问题(?)...

注意:下面是一个例子,除了说明性之外,它显然没有任何意义。我有一个动物园对象,叫它'X‘。我想把它分成两部分,然后把它们rbind.zoo在一起。当我将它与原始对象进行比较时,all.equal给出了不同之处。

“$class”属性似乎有所不同,但我看不出其中的原因。就是我创建这些xts对象,然后all.equal就可以按预期工作了。

即……

代码语言:javascript
复制
X.date <- as.POSIXct(paste("2003-", rep(1:4, 4:1), 
                     "-", sample(1:28, 10, replace = TRUE), sep = ""))

X <- zoo(matrix(rnorm(24), ncol = 2), X.date)

a <- X[c(1:3), ]      # first 3 elements

b <- X[c(4:6), ]      # second 3 elements

c <- rbind.zoo(a, b)  # rbind into an object of 6 elements

d <- X[c(1:6), ]      # all 6 elements

all.equal(c, d)       # are they equal?
代码语言:javascript
复制

all.equal给了我以下区别:

“属性:<组件3:属性:<长度不匹配:前1个组件的比较> >”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-14 12:12:14

是的,您可能在处理属性方面发现了一个bug。另一方面,谁在乎呢?cd实际上是平等的:

代码语言:javascript
复制
R> c - d

2003-01-07 0 0
2003-01-15 0 0
2003-01-17 0 0
2003-01-18 0 0
2003-02-17 0 0
2003-02-22 0 0
R> 

检查对象不会泄露任何信息:

代码语言:javascript
复制
R> str(c)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"
R> str(d)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"

我建议您发送一封礼貌的邮件给zoo的维护者,说明一下情况。

票数 1
EN

Stack Overflow用户

发布于 2010-03-30 18:25:08

R并不一致地对待POSIXct对象的tzone属性。动物园和这件事无关。即使根本不使用zoo,你也可以想出这样的例子。除了tzone属性之外,原始代码中的c和d实际上是相等的。

如果删除tzone属性,则c和d将相等:

代码语言:javascript
复制
attr(X.date, "tzone") <- NULL  ##### add after defining X.date

在zoo的情况下,因为它支持几乎任何时间类,所以如果不需要时区,可以考虑使用不同的时间类。如果你不需要时区,它会让事情变得更复杂。例如,在这里的示例中,我们可以使用Date类。

请阅读R新闻4/1了解更多信息。

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

https://stackoverflow.com/questions/1898815

复制
相关文章

相似问题

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