2011-12-03 36 views
18

Điều này sẽ giống như một câu hỏi cơ bản nhưng ... Làm cách nào để sử dụng các hằng số phổ dụng với R?hằng số phổ quát trong R

Tôi đã quen với việc có thể chỉ viết e hoặc PI trong MATLAB và các biến này được dành riêng cho các hằng số chung. Là những người có sẵn trong R là tốt? Làm thế nào để truy cập/sử dụng chúng?

Cảm ơn

+0

Xem thêm: http://stackoverflow.com/q/8087407/269476 – James

Trả lời

26

pi (chú ý chữ thường) được định nghĩa nhưng e không phải là, mặc dù exp (1) rõ ràng là có sẵn.

pi 
# [1] 3.141593 

Số lượng nhỏ các hằng số tích hợp được mô tả:

?Constants 

Nó sẽ có thể để chữa bệnh này vấn đề thiếu-of-e với mã này:

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

(Nhờ Hadley để minh họa điều này trong một chủ đề SO khác.) Bạn cũng có thể đến:

?NumericConstants 

Nơi bạn sẽ đọc trong số những thứ khác: "Một hằng số số ngay lập tức theo sau bởi tôi được coi là một số phức tưởng tượng."

Các hằng số quan trọng khác là TRUEFALSE, và trong khi TF thể được sử dụng trong một phiên sạch, TF không dè dặt và có thể được gán các giá trị khác, mà sau đó sẽ gây khó khăn cho các lỗi debug, vì vậy họ sử dụng không được chấp nhận. (Mặc dù, tôi cho rằng người ta cũng có thể sử dụng chiến lược lockBinding trên chúng là tốt.)

Có một vài nhân vật "hằng số", chẳng hạn như các vectơ nhân vật 26 mục: letters, LETTERS, cũng như 12 tháng của bạn locale: month.abbmonth.name. Các chữ cái Hy Lạp (chữ thường và chữ hoa) và một số ký hiệu toán học có thể được truy cập thông qua các phương thức được mô tả trong ?plotmath.

Các state.namestate.abb đề cập bởi Tyler dưới đây thực sự là một phần của (USA) state bộ dữ liệu trong gói "tập hợp dữ liệu" được nạp theo mặc định:

library(help="datasets") 

Nếu bạn thấy một ví dụ sử dụng các cars , chickwts, iris hoặc bất kỳ dataframes nào khác trong "datasets", như nhiều ví dụ help() làm, các đối tượng này có thể được giả định là có sẵn trên bất kỳ máy nào của người dùng R.

+4

Lưu ý rằng việc khóa một ràng buộc trong môi trường toàn cục không ngăn cản việc gắn giá trị trong môi trường khác. ví dụ. 'f <- hàm() {T <- FALSE; T}; f() 'chạy không có lỗi hoặc cảnh báo và trả về' FALSE' ngay cả khi 'T <- TRUE' trong môi trường toàn cục và đã bị khóa ở đó. –

+0

Ngoài các hằng số được mô tả trong? Hằng số cũng có tên và chữ viết tắt của tiểu bang với 'state.name' &' state.abb' –

Các vấn đề liên quan