2016-10-30 12 views
21

समारोह परिभाषासंशोधित कार्यों शरीर, औपचारिक और पर्यावरण तरीकों का उपयोग कर

f <- function(x) { 
    x + x*x 
} 

3 तरीकों यानी body, formals और environment संशोधन

शरीर

> body(f) 
{ 
    x + x * x 
} 
के लिए इस्तेमाल किया जा सकता

अगर हम बदलना चाहते हैं ई body

> body(f) <- expression({x*x*x}) 
> f 
function (x) 
{ 
    x * x * x 
} 

इसका उपयोग करके देखें।

औपचारिक

तो (x = 3, y = 6)

> formals(f) <- list(x = 3, y = 4) 
> f 
function (x = 3, y = 4) 
{ 
    x * x * x 
} 

को formals का उपयोग कर तर्क को बदलना चाहते हैं अपनी बदल देखें।

लेकिन यदि तर्क (x, y) पर तर्क बदलना चाहते हैं। जाहिर है formals(f) <- list(x, y) काम नहीं करेगा।

किसी भी मदद की सराहना की जाएगी।

उत्तर

21

आप alist उपयोग करने की आवश्यकता:

formals(f) = alist(x =, y =) 

alist अपने unevaluated तर्कों से एक सूची निर्माण करती है।

+0

किसी कारण से मेरी पिछली टिप्पणी हटा दी गई थी, लेकिन मैं वास्तव में दिलचस्पी लेता हूं * अगर कोई मुझे मेरे जवाब में त्रुटियों/चूक के लिए इंगित कर सकता है। –

संबंधित मुद्दे