我只是想写一个R函数,它给出了这个表达式的回归函数:y~(k,l,m,n)。这些字母表示非线性函数中的参数。当我以闭合形式(y~())编写模型时,该R函数应该从模型中提取回归函数。它可以是具有两个或更多参数的任何非线性函数。任何人都可以帮我怎么做?
答案 0 :(得分:1)
我认为你的关键点是获得一个将解析的公式
你不能只有y~(a,b,d)
,你需要一些功能名称,即y ~ f(a, b, d)
然后您可以使用all.vars
提取变量名称并创建模型矩阵并编写拟合函数
例如
all.vars(y ~ f(a,b,d))
## [1] "y" "a" "b" "d"
# get the response
as.character(y ~ f(a,b,d))[2]
## [1] "y"
您可以使用它们从搜索路径中提取对象