2017-04-05 66 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