从评估函数返回 system.time
R 版本 2.12,Windows XP
我正在尝试编写一个函数(如“g”),它接受一个参数、一个函数(如“f”),并返回匹配的函数。此外,“g”主体中包含一条语句,该语句告诉结果对象在调用该对象时返回 system.time 的值。举个例子就可以清楚地说明这一点。
我想要什么:
g <- function(f) {...}
z <- g(mean)
z(c(1, 4, 7))
带输出
user system elapsed
0.04 0.00 0.04
我拥有什么:
g <- function(f) {if (!exists("x")) {x <- match.fun(f)} else {system.time(x)}}
z <- g(mean)
z(c(1, 4, 7))
带输出
[1] 4
非常感谢任何帮助。
R version 2.12, Windows XP
I am attempting to write a function (say 'g') that takes one argument, a function (say 'f'), and returns the matched function. Furthermore, enclosed within the body of 'g' is a statement that tells the resulting object to return the value of system.time when the object is called. An example will clarify.
What I want:
g <- function(f) {...}
z <- g(mean)
z(c(1, 4, 7))
with output
user system elapsed
0.04 0.00 0.04
What I have:
g <- function(f) {if (!exists("x")) {x <- match.fun(f)} else {system.time(x)}}
z <- g(mean)
z(c(1, 4, 7))
with output
[1] 4
Any help is greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许这会有所帮助:
使用中:
您可能需要考虑如何返回值。我使用了一个列表,但另一个选择是打印系统时间作为副作用并返回计算值。
Maybe this will help:
In use:
You may want to think about how your return the values. I used a list, but another option is to print the system time as a side effect and return the calculated value.
最近我为自己做了类似的功能:
例如:
可以通过两种方式提取计时:
或
Recently I made similar function for myself:
For example:
Timings can be extracted in two ways:
or