Экспоненциальный распад в ggplot2 - PullRequest
0 голосов
/ 28 октября 2019

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

Это мой текущий код, который не работает. Он основан на документации 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...