ユーザーが提供する数学関数(x ^ 2など)を使用してさまざまなことを実行する関数を作成したいと思います。たとえば、次のようになります。
#-----------------nonworking code---------------------
foo <- function(FUN, var){
math_fun <- function(x){
FUN
}
curve(math_fun, -5, 5) #plot the mathematical function
y = math_func(var) #compute the function based on a user provided x value.
points(x=var, y=y) #plot the value from the last step.
}
#A user can use the function defined above in a way as shown below:
Function <- x^2 + x
foo(FUN=Function, var = 2)
しかし、明らかにこの関数は機能しません。まず、この関数を実行すると、が得られError in math_fun(x) : object 'x' not found
ます。
第二に、関数が機能したとしても、変数はx
であると想定していますが、ユーザーは任意の文字を使用できます。
この2番目の問題の場合、考えられる解決策の1つは、変数として使用する文字を指定するようにユーザーに依頼することです。
foo <- function(FUN, var, variable){
math_fun <- function(variable){
FUN
}
curve(math_fun, -5, 5)
y = math_func(var)
points(x=var, y=y)
}
しかし、私はこれをどれだけ正確に実装できるかについて途方に暮れています...誰かが私が問題の少なくとも一部を解決するのを手伝ってくれるなら、それは素晴らしいことです。ありがとう!