Я довольно новичок ie в R и мне нужно подогнать кривую к некоторым точкам данных для моей диссертации 12-го класса средней школы (да, она существует). У меня есть набор точек данных, которые следующие:
A(0.15, 0.6)
B(0.44, 1.06)
C(0.921, 1.22)
D(1.66, 1.5)
E(2.36, 1.58)
F(2.74, 1.52)
G(3.46, 1.68)
И я хотел бы смоделировать их с помощью функции вида y = a * log (b (x- c)) + д. Как бы я это сделал? Я пробовал некоторые подходы, но до сих пор я всегда получал ответ
Computation failed in 'stat_smooth()': Missing value or infinity produced when evaluating the model.
Я подозреваю, что это потому, что R рассматривает все возможные значения для параметров a, b, c и d, и что b и c может, таким образом, вызвать некоторые проблемы, поскольку логарифм определяется только в области положительных действительных чисел (0 исключено). Есть ли способ для меня решить эту проблему? Я знаю, что b должно быть положительным и ненулевым, и я знаю, что c не может быть равен x. Однако я не знаю, как это реализовать.
Если вы не знаете, как помочь мне решить эту проблему в R, было бы очень здорово, если бы вы могли просто написать альтернативу в python или matlab, потому что я немного знаю и эти два языка. Пожалуйста, имейте в виду, что я должен использовать алгоритм Гаусса-Ньютона.
Любая поддержка будет принята с благодарностью!