本文介绍了评估R中的字符串所指向的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有以下内容:

   x <- 1:10  
   squared <- function(x) {x^2}  
   y <- "squared"

我希望能够使用y定义的字符串评估函数.像eval(y)之类的东西,我知道是错误的,但是会返回

I want to be able to evaluate the function using the string defined by y. Something like eval(y), which I know is wrong, but will return

[1] 1 4 9 16 25 36 49 64 81 100

[1] 1 4 9 16 25 36 49 64 81 100

感谢您的帮助.

推荐答案

要么使用 match.fun

match.fun(y)(x)
#[1]   1   4   9  16  25  36  49  64  81 100

或使用 get

get(y)(x)
#[1]   1   4   9  16  25  36  49  64  81 100

这篇关于评估R中的字符串所指向的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 09:55