我是R的初学者,我想根据行星与太阳的平均距离(以AU为单位)预测行星的轨道时间。
我认为使用R会很棒,所以我已经设置了
x<-c(0.387,0.723,1.000,1.524,5.203,9.537)
y<-c(87.969,224.701,365.256,686.980,4329.630,10751.805)
我输入了model=lm(y~x)
以使其适合模型,然后使用了predict.lm(model, newdata=new)
,其中new=c(19.191,30.069,39.482).
我返回了值,但它们确实不可用。我还尝试记录所有y值的日志,并以与我刚才详述的相同的过程进行了尝试。但是,返回的值仍然关闭。我希望对这个问题有任何帮助,或者希望为R提供更多在该领域的帮助的资源。非常感谢!
但是,给定数据值的图是指数的,因此,如果有人可以帮助拟合指数模型而不是线性模型,那就太好了。
答案 0 :(得分:1)
您的拟合已关闭,因为您尝试将线性模型拟合到非线性模型。我不是天文学家,我认为Kepler's Third Law是适用的。该公式取自维基百科,描述了轨道时间(以天为单位)和距离(AU)之间的关系。
这可以改写为:
可以简化为
当基础过程是指数过程时,采用对数并拟合线性模型即可。
从here看来,您的模型应该类似于model=lm(y~x + I(X^(3/2)))
。