Diese Antwort ist eine Zusammenfassung der obigen Kommentare. Es ist im Grunde nur ein Hinweis auf verschiedene Hilfstexte, aber wie aus dem OP-Versuch mit ?L
hervorgeht, ist es nicht immer einfach, den entsprechenden Hilfetext zu finden. Ich habe erwartet, etwas über L
in ?as.integer
zu finden, aber nein. Hoffentlich ist diese Antwort nützlicher als ein Stapel Kommentare.
- In der R language definition finden Sie: "Wir können verwenden, um die
L
Suffix eine beliebige Anzahl mit der Absicht, sich zu qualifizieren es eine explizite integer machen"
Von ?NumericConstants
: „[...] All andere numerische konstanten beginnen mit einer Ziffer oder Zeit und sind entweder eine Dezimalzahl oder hexadezimale konstant gegebenenfalls gefolgt von L
„
“ eine numerische konstante, unmittelbar gefolgt von L
ist r als ganze Zahl, wenn möglich (und mit einer Warnung, wenn sie eine enthält "."). "
"Sie können das Präfix" 0x
"mit dem Suffix" L
"kombinieren.
- Sie können es auch nützlich finden, die Beispiele auf Gleitkommazahl vs. Integer in dem Abschnitt "Two Kinds Revisited" here zu überprüfen. "Setzen Sie das Kapital
L
(wie in" long ") nach einer Zahl, um R als eine ganze Zahl zu erstellen".
- Nicht speziell über
L
, aber immer relevant in der Gleitkomma vs ganze Zahlen Kontext ist FAQ7.31: "Warum denkt R nicht, dass diese Zahlen gleich sind?".
Update: Themen mit Diskussionen über die Effizienz der L
Themen auf R-Hilfe, wo andere zu kämpfen haben Dokumentation über L
, mit einer möglichen Erklärung zu finden, warum der Brief L
, und warum L
vs as.integer
in Bezug auf Effizienz.
Difference between 10 and 10L
Erste William Dunlap:
Warum nicht 10I
für integer? Vielleicht weil "I
" und "l
" zu ähnlich aussehen, vielleicht weil "i
" und "I
" zu ähnlich klingen. Die "L
" bedeutet nicht "lang": Ganzzahlen sind 4 Bytes lang.
Dann Brian Ripley:
Eigentlich tut es: Diese Schreibweise stammt aus der Sprache C auf 16-Bit- Computern, auf denen ganze Zahlen waren 16-Bit und longs wurden 32-bit (und R kein 'langer' Typ).
Der Autor dieses in R nie erklärt, warum er die Schreibweise gewählt hat, aber es ist kürzer als as.integer(10)
und effizienter als Zwang zur Analysezeit getan.
The L Word
Diskussion über die Effizienz in verschiedenen Situationen, mit einigen Benchmarkings.
R history: Why 'L; in suffix character ‘L’ for integer constants?
Weitere Diskussionen here.
Sie können über 'L' auf p lesen. 14 [** hier **] (http://cran.r-project.org/doc/manuals/r-release/R-lang.pdf). "Wir können das Suffix" L "verwenden, um eine beliebige Zahl zu qualifizieren, um sie zu einer expliziten Ganzzahl zu machen". Ich dachte, ich würde etwas über 'L' auf' 'as.integer' finden, aber nein. – Henrik
Hier ist ein direkter Link zu dem, worauf sich @Henrik bezieht: http://cran.r-project.org/doc/manuals/R-lang.html#Constants – Thomas
Danke! Also L ist hauptsächlich, um sicherzustellen, dass die Klasse der Zahl, die wir eingeben, ganzzahlig statt numerisch ist? jede weitere Verwendung für L? – useR