2012-04-18 35 views
7

Có thể thay đổi các giá trị mặc định của các tham số chính thức trong một hàm R trong thời gian chạy không?Thay đổi các đối số mặc định của một hàm R trong thời gian chạy

Giả sử, chúng ta có chức năng

f <- function(x=1) { 
    ... 
} 

tôi làm cách nào thay đổi giá trị mặc định của x từ 1 tới, nói rằng, 2?


Cảm ơn trước,
Sven

+0

Một câu hỏi thú vị, nhưng nó có vẻ hơi nguy hiểm. Tại sao bạn muốn làm điều đó? – csgillespie

+0

Tôi đang cố triển khai máy ảo cho R, do đó tôi cần biết các chữ ký chức năng có thể được giả định là không thay đổi được không. –

+0

http://stackoverflow.com/questions/9895811/can-i-tell-the-r-plyr-package-to-work-in-parallel-by-default/9895903#9895903 – GSee

Trả lời

4

Vâng, gói Defaults cho phép bạn làm điều này.

+0

Cảm ơn bạn rất nhiều! –

+4

Tôi tìm thấy một cách khác để hoàn thành tác vụ này: formals (f) = pairlist (x = 1) –

+3

@SvenHager: đó là những gì mặc định là gì, và bạn có thể muốn sử dụng 'alist' thay vì' list' hoặc 'pairlist '. –

0

Một thay thế (hiển thị trong một khác nhau SO post) là sử dụng formals chức năng, ví dụ .:

formals(f) <- 2

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