カスタム仮引数名で関数を作るために関数ファクトリを作ろうとしています。この考え方は、文字列をファクトリに供給し、ファクトリと返される関数の本文の両方に文字列を代入します。私はそれをeval(parse(text = paste()))を使ってやっていましたが、私はこの悪い習慣をどこかで読んでいます。どのようにevalparseを避けながら同じ出力を得ることができますか?関数ファクトリで仮引数を代入するr
MyLinearRateFunctions<-function(varX){
eval(parse(text=paste("function(a,b,",
varX,
") 1/(a + b*",
varX,
")",sep="")
))
}
(LinearRateMPG<-MyLinearRateFunctions('mpg'))
# function(a,b,mpg) 1/(a + b*mpg)
# <environment: 0x11c2f2a00>
(LinearRateCYL<-MyLinearRateFunctions('cyl'))
# function(a,b,cyl) 1/(a + b*cyl)
# <environment: 0x11e4cb908>
(LinearRateDISP<-MyLinearRateFunctions('disp'))
# function(a,b,disp) 1/(a + b*disp)
# <environment: 0x11e47eae8>
機能環境は、 'evalの()'に変更することができます。 –