我没有找到计算正交回归(TLS - Total Least Squares)的函数。
有这种功能的包吗?
更新:我的意思是对称地而不是不对称地计算每个点的距离lm()
。
我没有找到计算正交回归(TLS - Total Least Squares)的函数。
有这种功能的包吗?
更新:我的意思是对称地而不是不对称地计算每个点的距离lm()
。
我从这个网址得到了以下解决方案:
https://www.inkling.com/read/r-cookbook-paul-teetor-1st/chapter-13/recipe-13-5
r <- prcomp( ~ x + y )
slope <- r$rotation[2,1] / r$rotation[1,1]
intercept <- r$center[2] - slope*r$center[1]
基本上,您执行的 PCA 将拟合 x 和 y 之间的一条线,以最小化正交残差。然后您可以检索第一个分量的截距和斜率。
两个答案:
gx.rma
在rgr
包中似乎可以做到这一点。对于再次遇到这个问题的任何人,现在为此目的存在一个专用的包“onls”。它的处理方式类似于 nls 包(实现普通的最小二乘算法)