универсальные константы в R - PullRequest
19 голосов
/ 03 декабря 2011

Это будет звучать как основной вопрос, но ... Как мне использовать универсальные константы с R?

Я привык просто писать e или PI в matlab, и эти переменные были зарезервированы для универсальных констант. Они также доступны в R? Как получить доступ / использовать их?

Спасибо

1 Ответ

26 голосов
/ 03 декабря 2011

pi (обратите внимание на нижний регистр) определено, но e нет, хотя exp (1), очевидно, доступен.

pi
# [1] 3.141593

Описано небольшое количество встроенных констант:

?Constants

Можно было бы вылечить эту проблему отсутствия такого кода следующим кодом:

e <- exp(1)
lockBinding("e", globalenv())
e
#[1] 2.718282
e <- 2.5
#Error: cannot change value of locked binding for 'e'

(Спасибо Хэдли за иллюстрацию в другой ветке SO.) Вы, вероятно, также должны перейти к:

?NumericConstants

Где вы прочтете среди прочего: «Числовая константа, за которой сразу следует i, рассматривается как воображаемое комплексное число».

Другими важными константами являются TRUE и FALSE, и хотя T и F могут использоваться в чистом сеансе, T и F не зарезервированы и им могут быть назначены другие значения, что потом вызовет затруднения при отладке ошибок, поэтому их использование не рекомендуется. (Хотя, я полагаю, можно также использовать стратегию lockBinding на них.)

Есть несколько символьных «констант», таких как 26 символьных векторов элементов: letters, LETTERS, а также 12 месяцев в вашем регионе: month.abb и month.name. Греческие буквы (строчные и прописные) и некоторые математические обозначения могут быть доступны с помощью методов, описанных в ?plotmath.

state.name и state.abb, упомянутые Тайлером ниже, фактически являются частью набора данных (США) state в пакете "наборов данных", который загружен по умолчанию:

library(help="datasets")

Если вы видите пример, который использует cars, chickwts, iris или любой другой фрейм данных в «наборах данных», как это делают многие help() примеры, можно предположить, что эти объекты доступны на машина любого пользователя R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...