ggplot2中的指数衰减

时间:2019-10-28 16:13:40

标签: r ggplot2 exponential

我希望对此有所帮助。我正在尝试将指数衰减曲线放在我拥有的某些车辆数据上。我一直在搜索Stack Overflow,但没有一个答案有帮助。

这是我当前的无效代码。它基于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

它可以绘制我的数据,但不显示曲线。

I can't embed photos for some reason so here it is

我收到的当前警告消息是:

  

1:在(函数(公式,数据= parent.frame(),开始,控制=   nls.control(),:未为某些参数指定起始值。   将“ a”,“ b”初始化为“ 1”。考虑指定“开始”或使用   selfStart模型2:stat_smooth()中的计算失败:单数   初始参数估计时的梯度矩阵

我也尝试了这些其他选项,但无济于事。

  

ggplot(mtcars,aes(x = Mileage,y = Cost))+ geom_point()+
  stat_smooth(method =“ nls”,公式= y〜a * exp(x * b),se = FALSE,                 method.args = list(start = list(a = 1,b = 1)))

这导致以下错误消息:

  

stat_smooth()中计算失败:缺少值或无穷大   评估模型时产生的

我也尝试过

  

ggplot(mtcars,aes(x = wt,y = mpg))+ geom_point()+
  stat_smooth(method =“ nls”,公式= y〜a * exp(x * -b),se = FALSE,                 method.args = list(开始= list(a = 1,b = 1),                                    较低= c(0),                                    algorithm =“ port”))

这导致以下错误消息:

  

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

0 个答案:

没有答案