作者Wush978 (拒看低质媒体)
看板R_Language
标题Re: [问题] 如何在函数中产生函数?
时间Mon Oct 31 13:16:52 2016
※ 引述《wheado (principal component QQ)》之铭言:
: [问题类型]:
: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
: [软体熟悉度]:
: 新手(没写过程式,R 是我的第一次)
: [问题叙述]:
: 假设有个函数 F <- function(data=iris ,unit=3){...}
: 我想要在里面产生另外一个函数 f <- function(X, par){...}。
: 但是,这个函数是跟我的 data 与 unit 有关,
: 会根据我给的data与unit不同产生的函数会不一样,
: 请问有没有关键字或是网站可以让我搜寻类似的教学。
: 这个问题我不知道要怎麽GOOGLE。
: 谢谢。
关键字: function, environment, closure
参考网页:
- R advanced:
http://adv-r.had.co.nz/Environments.html
- Closure in R:
https://www.r-bloggers.com/closures-in-r-a-useful-abstraction/
学会这些技巧,可以让写的程式码更短,但是同事若不懂,在共用R script
上可能会有问题。你要自行取舍了。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.25.100
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1477891017.A.0D6.html
1F:推 f496328mm: 看起来这好像比较偏底层的东西 像是记忆体存放变数 10/31 17:30
2F:推 f496328mm: 第二个连结就是函数包函数 他没有给函数命名 10/31 17:32
3F:→ f496328mm: 好神奇的写法 10/31 17:33
4F:→ celestialgod: 第二个就只是 没有写return而已... 10/31 17:47
5F:→ celestialgod: 就跟你用 f <- function(x) {1} 是一样的 10/31 17:47
6F:→ Wush978: clusure 不是没return,而是回传一个产生的函数 10/31 23:53
7F:→ Wush978: 并且那个函数存取的变数被保护,可以达到原po想问的效果 10/31 23:54
8F:→ Wush978: 吧 10/31 23:54
9F:推 cywhale: R这些巧妙写法都还没试过 推一个~ 11/01 22:35
10F:推 wheado: 感谢大大赞叹大大小弟跪读一下 11/01 22:44