无法在R中使用功能

时间:2019-10-11 14:52:43

标签: r nls weighting

我想进行快速测试:

  1. 创建一个包含很多点的函数。向数据中添加一些随机噪声。

  2. 对于每n个点,计算平均值和sd。

  3. 使用错误栏(类似于sd * 1.96 / sqrt(n))显示新(“阻止”)数据

  4. 使用nls fit和权重(即(sd / sqrt(n))^(2))拟合“阻塞”数据

然后我会遇到一个错误 .swts * attr(rhs,“ gradient”)中的错误:...。

  1. 没有重量,这很好用。
^XA
^FWR
^CFA,30
^FO235,75^FDCOUNT^FS
^FO175,75^BY3,1,2^BC,50^FD123456^FS
^XZ

1 个答案:

答案 0 :(得分:0)

您的体重太大。标准化它们。这等效于不使用这么大的权重。

nls(formula= mean_val ~  a1/((Freq_N-a2)^2 + a3^2)
           , data=Y_N, start=list(a1=1,a2=1,a3=1),
           weights = c(prop.table(my_weights)) )

给予:

Nonlinear regression model
  model: mean_val ~ a1/((Freq_N - a2)^2 + a3^2)
   data: Y_N
     a1      a2      a3 
  2.021   2.029 -60.137 
 weighted residual sum-of-squares: 1.163e-12

Number of iterations to convergence: 7 
Achieved convergence tolerance: 1.219e-06