【发布时间】:2017-04-05 11:39:24
【问题描述】:
我是 R 新手,并试图了解以下代码的效果。
> x <- c(1, 2)
> x[0]
numeric(0)
> x[FALSE]
numeric(0
> x[c(FALSE, TRUE)]
[1] 2
具体来说,我在 C 和 C++ 方面拥有广泛的背景,我很想知道 R 在访问索引 0 处的元素时在内部做什么。我知道 R 具有基于 1 的数组索引。但是在这种特定情况下,它是访问向量然后删除结果(numeric(0))还是从向量中删除 0 并显示结果?
所以,我想知道知道这件事的确切方法是什么?我应该在 R 中输入什么作为“?”的一部分还是“帮助”命令?
【问题讨论】:
-
我明白了。我要问的是我在哪里阅读有关执行 x[FALSE] 时的行为规范的信息。作为独立指令,它的行为似乎与在 x[c(FALSE, TRUE)] 中使用时不同
-
相关文档为
help("[")和R language definition。既然你懂C/C++,你也可以研究一下源码:github.com/wch/r-source/blob/trunk/src/main/subset.c