Ошибка при использовании функции nls в R, не удается получить оценки LS

Я пытаюсь сопоставить некоторые данные с отрицательной экспоненциальной моделью в R, но, похоже, это не работает, и я не могу найти ошибку или способ ее обойти.

    t<-c(1,4,16)
    y<-c(0.8,0.45,0.04)
    tabla<-data.frame(t,y)
    reg<-nls(y~exp(-b*t),tabla,start = list(t=0,b=0))

Я получаю следующую ошибку после запуска кода

Error in qr(.swts * attr(rhs, "gradient")) : 
 dims [product 2] do not match the length of object [3]
In addition: Warning message:
In .swts * attr(rhs, "gradient") :
 longer object length is not a multiple of shorter object length


person JeffCJ    schedule 03.06.2019    source источник
comment
это данные, не знаю почему их нет в посте, просто отредактировал!   -  person JeffCJ    schedule 03.06.2019
comment
Не имеет прямого отношения, но, возможно, переименуйте t во что-то другое. В то время как R может справиться с этими проблемами, t может быть трудно отлаживать, так как он также представляет функцию transpose.   -  person NelsonGon    schedule 03.06.2019


Ответы (1)


Вы пытаетесь оценить t, когда это независимая переменная в вашей формуле

t<-c(1,4,16)
y<-c(0.8,0.45,0.04)
tabla<-data.frame(t,y)
reg<-nls(y~exp(-b*t),tabla,start = list(b=0))

Это отлично работает

person JMilner    schedule 03.06.2019
comment
Спасибо! Я был достаточно глуп, чтобы попробовать все, кроме этого - person JeffCJ; 03.06.2019
comment
Без проблем. В R часто упускают мелочи! - person JMilner; 04.06.2019