如何比较功能? [英] How to compare functions?
本文介绍了如何比较功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有方法可以比较两个函数对象是否相同?
m < - 均值
m ==表示##不起作用
##这似乎不是正确的方式:
functionBody(mean)== functionBody(m)
编辑:一些更多细节。我有一个函数带有两个参数(一个矩阵和一个用户定义的函数,这个函数是按列应用的,例如mean,median,...)。如果函数是 mean
我想用 colMean
来代替(以节省一些运行时间)。
foo < - 函数(m,fun){
#if(fun == mean){
#return colMeans(M));
#} else {
return(apply(m,2,fun));
#
$ / code $ / pre
解决方案您可以使用相同
:
相同(m,平均数)
Is there a way to compare whether two function objects are the same?
m <- mean
m == mean ## don't work
## this seems not to be the correct way:
functionBody(mean)==functionBody(m)
EDIT: Some more details. I have a function with two arguments (a matrix and a user-defined function which is applied columnwise, e.g. mean, median, ...). If the function is mean
I want to use colMean
instead (to save some running time).
foo <- function(m, fun) {
#if (fun==mean) {
# return(colMeans(m));
#} else {
return(apply(m, 2, fun));
#}
}
解决方案 You can use identical
:
identical(m,mean)
这篇关于如何比较功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文