RのL
に関する私の証跡は次のとおりです。
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
?L
を使ってみましたがうまくいきませんでした。
x[<n>L]
とは実際には何ですか?それをさらに使用するための例はありますか?
この回答は、上記のコメントの要約です。これは基本的にさまざまなヘルプテキストへのポインタにすぎませんが、OPが_?L
_を試みたことから明らかなように、関連するヘルプテキストを見つけるのは必ずしも簡単ではありません。 _?as.integer
_でL
について何かを見つけることを期待していましたが、そうではありませんでした。うまくいけば、この回答はコメントの山よりも役立つでしょう。
L
サフィックスを使用して任意の数を修飾できます明示的な整数にすることを目的としています」From _?NumericConstants
_: "[...]他のすべての数値定数は数字またはピリオドで始まり、オプションでL
が後に続く10進数または16進数の定数です。"
「数値定数の直後にL
が続く場合は、可能な場合は整数と見なされます(また、「。」が含まれている場合は警告が表示されます)。」
「「_0x
_」プレフィックスと「L
」サフィックスを組み合わせることができます」。
L
(「long」のように)を入れて、Rに整数として作成させます」。L
についてではありませんが、浮動小数点と整数のコンテキストで常に関連するのは FAQ7.31 :「なぜRはこれらの数が等しいと思わないのですか?」.L
:の効率について議論しているスレッド
Rのスレッド-他の人がL
に関するドキュメントを見つけるのに苦労している場合、文字L
の理由、およびL
と_as.integer
_の理由の説明が含まれています。効率の面。
最初のウィリアム・ダンラップ:
整数の場合は_
10I
_ではないのはなぜですか? 「I
」と「l
」の音が似すぎているためか、「i
」と「I
」の音が似すぎているためかもしれません。 「L
」は「長い」という意味ではありません。整数は4バイトの長さです。
次に、ブライアン・リプリー:
実際にはそうです。この表記は、整数が16ビットでlongが32ビットである16ビットコンピューターのC言語に由来します(Rには「long」型がありません)。
Rのこの作者は、なぜ表記を選択したのか説明していませんが、
as.integer(10)
よりも短く、強制が解析時に行われるため、より効率的です。
Lの世界
いくつかのベンチマークを使用して、さまざまな状況での効率についての議論。
その他の議論 ここ 。