我无法找到适合我的数据的正确曲线。如果有人比我更懂得有更好的拟合曲线的想法/解决方案,我会非常感激。R nls:拟合曲线到数据
数据:目的是从y中预测X
dat <- data.frame(x = c(15,25,50,100,150,200,300,400,500,700,850,1000,1500),
y = c(43,45.16,47.41,53.74,59.66,65.19,76.4,86.12,92.97,
103.15,106.34,108.21,113))
这是多远我来:
model <- nls(x ~ a * exp((log(2)/b) * y),
data = dat, start = list(a = 1, b = 15), trace = T)
这是不是一个非常适合:
dat$pred <- predict(model, list(y = dat$y))
plot(dat$y, dat$x, type = 'o', lty = 2)
points(dat$y, dat$pred, type = 'o', col = 'red')
个感谢,F
在R的'plot'函数中,第一个参数是'x'参数,第二个参数是'y'。你在'y'轴上绘制了'dat $ x'。你可能想纠正它。 –
对于一些事情,我发现Excel比R更直观 - 例如,你可以在Excel中拟合一个趋势线,可以看到更高阶的多项式函数很合适,最后你可能会落在这里[http: //stackoverflow.com/questions/3822535/fitting-polynomial-model-to-data-in-r)。 – lukeA