R子集中的索引为零

时间:2015-01-29 13:27:23

标签: r indexing subset

在R中,当试图对对象进行子集时,例如data.frame或vector,如果使用的索引太大,返回值将为NA。这部分还可以。

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

示例:

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

任何人都可以告诉我这个问题的原因吗?为什么索引零将返回这个“数字(0)”?

1 个答案:

答案 0 :(得分:0)

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),但它明确表明这是故意的。