我正在使用此公式(b1 * ((b2 * x)^b4)) / (1 + ((b2 * x)^b4))^(b3 / b4)
处理nls模型>
我使用nls2软件包和随机算法来查找初始值。这是我的公式和曲线函数的代码:
eqn <- function(x){(b1 * ((b2 * x)^b4)) / (1 + ((b2 * x)^b4))^(b3 / b4)} curve(eqn, data$x, data$y, col = "green", n = 6)
我不知道,如果我正确使用n =“”。但是,我使用n = 6作为等式的长度,因为我的数据在x和y变量上有6个值。
但是,当我尝试为模型绘制曲线时,它最终出现了错误:object 'b1' not found.
如何避免此错误?我通过在nls2的结构之外设置使用nls2获得的变量的估计值来避免此错误。
例如:
b1 = 1 b2 = 5 b3 = 0.7 b4 = 9.5
**另一方面,如何在方程式的
curve()
中设置变量的值而又不会出现错误:object 'b1' not found.
,我应该使用start = list()
吗?
curve(eqn, data$x, data$y, col = "green", n = 6, start = list (b1 = 1, b2 = 5, b3 = 0.7, b = 9.5))
我找到了有关为多项式方程制作曲线的各种示例,但是这些示例已经为方程的变量定义了值。是否可以使用从nls2计算出的估计值来设置变量?
我正在使用使用以下公式的nls模型(b1 *((b2 * x)^ b4))/(1 +((b2 * x)^ b4))^(b3 / b4)我使用nls2包用随机算法找到初始值。这是我的代码...
您将需要定义您的方程式,以接受系数b1至b4作为这样的输入: