【问题标题】:getting regression function from formula in R从R中的公式获取回归函数
【发布时间】:2012-11-14 03:00:56
【问题描述】:

我只是想写一个 R 函数,它给我这个表达式的回归函数:y~(k,l,m,n)。这些字母代表非线性函数中的参数。当我以封闭形式(y〜())编写模型时,这个R函数应该从模型中提取回归函数。它可以是具有两个或多个参数的任何非线性函数。谁能帮我怎么做?

【问题讨论】:

  • 其实我什么都没试过。我只是看了一下 R 中的 nls 函数。我试图了解它在这个函数中是如何处理的。
  • 我需要 R 做的事情,如下所示: cll
  • extract 是什么意思?你的意思是合身?或者您是从nls 对象中提取,还是尝试编写您自己的nls 版本?
  • 很抱歉造成混淆。是的,我正在尝试使用高斯牛顿算法编写我自己的 nls 函数。我对算法部分很好,但不知道如何使公式运行。当有人以封闭形式编写公式时,我的函数应将其转换为公式。它可以是任何非线性公式。希望这很清楚。

标签: r formula regression


【解决方案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"

您可以使用这些从搜索路径中提取对象

【讨论】:

  • 非常感谢!我很抱歉。我忘了把函数放在括号之前。
猜你喜欢
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多