[问题] make_function vs function

楼主: ming790925 (MING)   2016-02-08 13:38:24
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
大家好 pryr package 里面有一个函数 make_function
我想请教各位高手 他与一般我们使用的 y=function(x){ } 这主要有什么差异呢?
想知道该如何在适当时机用对指令
感谢!!
[程式范例]:
3.2 通过参数创建函数make_function()
通过使用make_function()函数,可以通过make_function()函数的3个参数,来创建一个普通的函数,从而现实动态性。
make_function()函数的3个参数分别是:
生成函数的参数部分, list类型
生成函数的表达式部分, 语法表达式, call类型
生成函数的系统环境部分, environment类型
# 创建标准的函数
> f <- function(x) x + 3
> f
function(x) x + 3
# 运行函数
> f(12)
[1] 15
# 通过参数创建函数
> g <- make_function(alist(x = ), quote(x + 3))
> g
function (x)
x + 3
# 运行函数
> g(12)
[1] 15
(资料来源:http://blog.fens.me/r-pryr/)
[环境叙述]:
> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
作者: celestialgod (天)   2016-02-08 16:24:00
只是让你能够用函数形式去创function打开看其实就是包evaleval(call("function", args, body), env)
楼主: ming790925 (MING)   2016-02-09 14:42:00
不好意思 可以再说详细一点吗 没有很懂 感谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com