2014-03-05 128 views
15

我的線索是:澄清L的[R

c<-1:10 
c 
# [1] 1 2 3 4 5 6 7 8 9 10 
c[-1] 
# [1] 2 3 4 5 6 7 8 9 10 
c[-2] 
# [1] 1 3 4 5 6 7 8 9 10 
c[-1L] 
# [1] 2 3 4 5 6 7 8 9 10 
c[-2L] 
# [1] 1 3 4 5 6 7 8 9 10 
# i cannot search document for L by ?L 

什麼的確是x[<n>L]?任何例子進一步使用它?

+4

您可以閱讀關於「L」在頁碼。 14 [** here **](http://cran.r-project.org/doc/manuals/r-release/R-lang.pdf)。 「我們可以使用'L'後綴來限定任何數字,目的是使其成爲一個明確的整數」。我以爲我會在''as.integer'上找到'L'的一些信息,但是沒有。 – Henrik

+0

下面是@Henrik提到的一個直接鏈接:http://cran.r-project.org/doc/manuals/R-lang.html#Constants – Thomas

+0

謝謝!所以L主要是爲了確保我們輸入的數字的類是整數而不是數字? L的任何進一步用法? – useR

回答

21

此答案是上述評論的摘要。它基本上只是指向各種幫助文本的指針,但從OP對?L的嘗試可以看出,找到相關幫助文本並不總是很容易。我期待在?as.integer找到L的東西,但沒有。希望這個答案比一堆評論更有用。

  • R language definition ,你會發現:「我們可以使用L後綴限定任何數量的 以使它成爲一個明確的整數的意圖」
  • ?NumericConstants:「[...]所有其他數字常量開始 以數字或日期,並是十進制或十六進制 恆定任選隨後L

    」後面緊跟一個L數值常數爲r如果可能,則作爲 整數編號(如果它包含 「。」),則會發出警告。「

    「您可以將」0x「前綴與」L「後綴組合起來。

  • 您可能還會發現查看浮點數 與整數在「兩種重訪」 here部分上的示例很有用。 「將數字後的資本L(如在」long「中)設置爲使R創建爲整數」 「。
  • 不是專門關於L,但總是與浮點相關 與整數上下文是FAQ7.31:「爲什麼R不認爲這些數字是相等的?」。

更新:線程有關對R-幫助L

線程在別人難以找到文檔中關於L效率的討論,有一個可能解釋了爲什麼信L,爲什麼L在效率方面與as.integer相比。

  1. Difference between 10 and 10L

    首先威廉鄧拉普:

    爲什麼不10I整數?也許是因爲「I」和「l」看起來太相似了,也許是因爲「i」和「I」聽起來太相似了。 「L」並不意味着「長」:整數是4個字節長。

    然後布萊恩裏普利:

    實際上它的作用:從C語言這種表示法的日期上的16位 計算機其中整數是16位和長爲32位(和R具有 不'長'型)。

    這個R中筆者從來沒有解釋他爲什麼選擇了符號,但 它比as.integer(10)短,更有效,因爲脅迫是 在分析時完成。

  2. The L Word
    探討在不同情況下的效率,具有一定的benchmarkings。

  3. R history: Why 'L; in suffix character ‘L’ for integer constants?

  4. 更多的討論here

+0

感謝您的總結。正如我發現許多像table()這樣的內置函數也在源代碼中使用它。再次感謝。 – useR