Я бы хотел помочь с этим. Я пытаюсь наложить экспоненциальную кривую затухания на некоторые данные автомобиля, которые у меня есть. Я искал через переполнение стека, и ни один из ответов не помог.
Это мой текущий код, который не работает. Он основан на документации ggplot2 и все еще не работает.
plot <- ggplot(data = rawData, aes(x = Mileage, y = Cost, color = Car)) + geom_point() + stat_smooth(method = 'nls', formula = y ~ a*exp(b *-x), se = FALSE, start = list(a=1,b=1))
plot
Он отображает мои данные, но не показывает кривую.
Я не могу встраивать фотографии для некоторыхпричина, поэтому здесь это
В настоящее время я получаю следующие предупреждающие сообщения:
1: In (функция (формула, данные = parent.frame (), запуск, управление= nls.control (),: для некоторых параметров не указаны начальные значения. Инициализация 'a', 'b' в '1.'. Попробуйте указать 'start' или использовать модель selfStart 2: Сбой вычисления в stat_smooth()
: единственное числоМатрица градиента при начальных оценках параметров+ geom_point () +
stat_smooth (method = "nls", формула = y ~ a * exp (x * b), se = FALSE, method.args = list (start = list (a = 1, b = 1))))
В результате появилось сообщение об ошибке:
Ошибка вычисления stat_smooth()
: отсутствует значение или результат бесконечностиd при оценке модели
И я тоже попробовал это
ggplot (mtcars, aes (x = wt, y = mpg)) + geom_point () +
stat_smooth (method = "nls", формула = y ~ a * exp (x * -b), se = FALSE, method.args = list (start = список (a = 1, b = 1), нижний = c (0), алгоритма = "порт"))
, что привело к сообщению об ошибке:
Ошибка вычисления stat_smooth()
: матрица сингулярного градиента при начальных оценках параметров
ОБНОВЛЕНИЕ Если я разделю все свои значения на 100 000, внезапно линия тренда сработает, хотя и без доверительных интервалов. Я понятия не имею, почему это работает, и не дает мне приемлемого ответа, поскольку все значения моей оси теперь отключены на 100 000.
rawData%>% mutate (Пробег = Пробег / 100000, Стоимость= Стоимость / 100000)%>% ggplot (aes (x = Пробег, y = Стоимость, цвет = Автомобиль)) + geom_point () + stat_smooth (method = "nls", формула = y ~ a * exp (x * -b)), se = FALSE)
Вот мои данные - https://docs.google.com/spreadsheets/d/1SKhkqHK-qFGG8IST67iUhMIIdvA_k6htVid7lAwCb3A/edit?usp=sharing