2017-04-05 70 views
0

我是R的新手,并试图理解以下代码的效果。R向量访问帮助

> x <- c(1, 2) 
    > x[0] 
    numeric(0) 
    > x[FALSE] 
    numeric(0 
    > x[c(FALSE, TRUE)] 
    [1] 2 

具体地,具有在C和C++广泛的背景,我知道在索引0处访问元素时什么ř内部确实有趣我知道R具有1名基于阵列的索引。但在这种特殊情况下,它是否访问矢量,然后删除结果(数字(0))还是从矢量中删除0并显示结果?

所以,我想知道什么是明确的方式知道这个?我应该在R中输入什么作为'?'的一部分或'帮助'命令?

+0

我明白了。我所问的是在执行x [FALSE]时,我在哪里阅读有关行为的规范。作为一个独立的指令,它似乎从X使用时的行为不同[C(FALSE,TRUE)] – user3701522

+1

的有关文件是'帮助(“[”)'和[R语言定义(HTTPS://cran.r -project.org/doc/manuals/r-release/R-lang.html)。既然你知道C/C++,你也可以学习源代码:https://github.com/wch/r-source/blob/trunk/src/main/subset.c – Roland

+1

https://cran.r-project。 org/doc/manuals/r-release/R-lang.html#Indexing –

回答

0

根据Roland和G. Grothendieck的评论,我做了R语言定义的快速阅读。答案是$ 3.4.1

一种特殊情况右边还有零索引,其具有零效果:X [0]是一个 空载体和以其它方式,包括正或负 索引中零具有相同的就好像它们被省略一样。

+0

有趣。这种行为是否也记录在案。可能我会再次扫描文档。 – user3701522