这可能是一个基础问题,但是... 我如何在R中使用普适常数?
我习惯于在Matlab中只需编写e或PI等变量,这些变量用于表示普适常数。在R中是否也能使用它们?如何访问/使用它们?
谢谢
这可能是一个基础问题,但是... 我如何在R中使用普适常数?
我习惯于在Matlab中只需编写e或PI等变量,这些变量用于表示普适常数。在R中是否也能使用它们?如何访问/使用它们?
谢谢
pi
(小写)已被定义,但 e
没有被定义,尽管显然可以使用 exp(1)。
pi
# [1] 3.141593
以下是内置常量的说明:
?Constants
使用以下代码可以解决这个缺乏-e问题:
e <- exp(1)
lockBinding("e", globalenv())
e
#[1] 2.718282
e <- 2.5
#Error: cannot change value of locked binding for 'e'
感谢Hadley在不同的SO线程中进行了说明。
您可能还应该去:
?NumericConstants
您将阅读到以下内容:“紧跟着数字的i被视为虚数复数。”
其他重要的常量是TRUE
和FALSE
,虽然在干净的会话中可以使用T
和F
,但T
和F
并没有保留,并且可以分配其他值,这将导致难以调试的错误,因此不建议使用它们。(尽管我认为也可以在它们上面使用lockBinding
策略。)
有一些字符“常量”,例如26个字符向量:letters
、LETTERS
,以及您所在地区的12个月份:month.abb
和month.name
。希腊字母(小写和大写)和一些数学符号可以通过?plotmath
中描述的方法访问。
如Tyler所述,state.name
和state.abb
实际上是默认加载的“datasets”包中(美国)state
数据集的一部分:
library(help="datasets")
如果您看到一个使用cars
、chickwts
、iris
或其他"dataframes"中的示例,就像许多help()
示例一样,这些对象可以假定在任何R用户的机器上都可用。
f <- function() { T <- FALSE; T }; f()
可以正常运行并返回 FALSE
,即使在全局环境中 T <- TRUE
并已被锁定。 - G. Grothendieckstate.name
和state.abb
表示的州名和缩写。 - Tyler Rinker