【问题标题】:index zero in R subsetting [duplicate]R子集中的索引零[重复]
【发布时间】:2015-03-28 18:01:37
【问题描述】:

在 R 中,当尝试对对象进行子集化时,例如data.frame 或向量,如果使用了太大的索引,返回值将是 NA。这部分没问题。

但是,如果我们使用零作为索引,则结果不是 NA 而是其他东西。

示例:

a<-c(1,2,3)
a[4]
[1] NA
a[0]
numeric(0)

谁能告诉我这个问题的原因?为什么索引零会返回这个“numeric(0)”?

【问题讨论】:

  • @BenBolker 那里最古怪的事情,将值分配给 a[0] 然后将其取回,似乎已作为错误修复。但不会给出错误消息。
  • @BenBolker ,Spacedman 是正确的,现在将值分配给 a[0] 不会使链接中的文章中描述的事情发生。我想这个错误已经修复了。

标签: r indexing subset


【解决方案1】:

R language definition

一个特殊情况是零索引,它具有空效果:x[0] 是一个空向量,否则在正索引或负索引中包含零具有与省略它们相同的效果。

这个约定可以追溯到 R 的前身 S(参见 Google books 上的 Venables 和 Ripley S Programming)。

这没有回答“为什么?” (还有你 are not the only one who thinks this is a bad idea),但它确实明确表示这是故意的。

【讨论】:

  • 感谢您的回答。我很欣赏来自 R 语言定义和额外来源的信息。然而正如@Spacedman 提到的,这个错误可能已经被修复了。
猜你喜欢
  • 2021-08-20
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 2017-06-14
  • 2019-01-26
  • 1970-01-01
  • 2014-02-08
  • 2013-08-04
相关资源
最近更新 更多