Ответ 1
Этот ответ является резюме комментариев выше. В основном это просто указатели на различные тексты справки, но, как видно из попытки OP с ?L
, не всегда легко найти соответствующий текст справки. Я ожидал найти что-нибудь о L
в ?as.integer
, но нет. Надеюсь, этот ответ более полезен, чем куча комментариев.
- На языке R
определение
вы найдете: "Мы можем использовать суффикс
L
для определения любого числа с намерением сделать его явным целым числом " С
?NumericConstants
: "[...] Все остальные числовые константы начинаются с цифрой или точкой и являются десятичным или шестнадцатеричным за константой необязательно следуетL
""Числовая константа, за которой сразу следует
L
, рассматривается как целое число, когда это возможно (и с предупреждением, если оно содержит ". ").""Вы можете комбинировать префикс"
0x
"с суффиксом"L
"".- Вам также может быть полезно проверить примеры с плавающей запятой
против целых чисел в разделе "Возвращение двух видов"
здесь.
"Поместите капитал
L
(как в" long ") после числа, чтобы R создал его как целое число ". - Не конкретно о
L
, но всегда актуально в плавающей точке Контекст против целых чисел: FAQ7.31: "Почему R не считает, что эти числа равны?".
Темы с обсуждением эффективности L
:
Темы о R-help, где другие пытались найти документацию о L
, с возможным объяснением того, почему буква L
и почему L
против as.integer
с точки зрения эффективности.
-
Первый Уильям Данлэп:
Почему не
10I
для целого числа? Возможно, потому что "I
" и "l
" выглядят слишком похожими, возможно, потому что "i
" и "I
" звучат слишком похоже. "L
" не означает "длинный": целые числа имеют длину 4 байта.Затем Брайан Рипли:
На самом деле это так: это обозначение датируется языком C на 16-битном компьютеры, где целые числа были 16-битными, а длинные - 32-битными (а R имеет нет "длинного" типа.
Автор этого в R никогда не объяснял, почему он выбрал обозначение, но он короче, чем
as.integer(10)
, и более эффективен, поскольку принуждение сделано в разбор. L Слово
Обсуждение эффективности в различных ситуациях с некоторыми сравнительными тестами.R история: почему 'L; в суффиксном символе ‘L для целочисленных констант?
Больше обсуждений здесь.