3

如果我有一个向量a<-c(3, 5, 7, 8)

然后跑a[1],毫不奇怪,我会得到 3,但如果我会跑,a[0]我基本上会得到numeric(0)

这是什么意思?这有什么作用?出于正常原因,我该如何使用它?

4

2 回答 2

8

其他人已经回答了什么x[0],所以我想我会扩展它为什么有用:生成测试用例。这对于确保您的函数与用户有时会意外产生的异常数据结构变体一起工作非常有用。

例如,它可以轻松生成 0 行和 0 列数据帧:

mtcars[0, ]
mtcars[, 0]

当子集出错时可能会出现这些情况:

mtcars[mtcars$cyl > 10, ]

但是在您的测试代码中,标记您是故意这样做是很有用的。

于 2013-04-08T15:52:25.517 回答
4

http://cran.r-project.org/doc/manuals/r-release/R-lang.html#Indexing-by-vectors

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

于 2013-04-08T15:49:18.320 回答