我没有找到计算正交回归的函数(TLS - 总最小二乘法).
有这种功能的包吗?
更新:我的意思是对称地计算每个点的距离,而不是非对称地计算lm()
.
我有这个R代码:
> coef
[1] 1.5 2.4 3.9 4.4
> y
[,1] [,2] [,3] [,4]
[1,] 1 2 12 45
[2,] 5 6 7 8
[3,] 9 10 2 12
[4,] 13 14 15 45
[5,] 17 18 39 7
Run Code Online (Sandbox Code Playgroud)
我必须将列的每个值乘以相应的coef.结果应该是:
First column:
1*1.5
5*1.5
9*1.5
13*1.5
17*1.5
Second column:
2*2.4
6*2.4
10*2.4
14*2.4
18*2.4
Third column:
12*3.9
7*3.9
2*3.9
15*3.9
39*3.9
Fourth column:
45*4.4
8*4.4
12*4.4
45*4.4
7*4.4
Run Code Online (Sandbox Code Playgroud)
所有列的值在向量中的相同索引处由相同的系数摩擦.
我怎么做这个计算?
解决方案可能是:
> y[,1] <- y[,1] * coef[1]
> y[,2] <- …
Run Code Online (Sandbox Code Playgroud) 我有这个矩阵:
> y
[,1] [,2] [,3] [,4]
[1,] 1 8 36 180
[2,] 5 24 21 32
[3,] 9 40 6 48
[4,] 13 56 45 180
[5,] 17 72 117 28
Run Code Online (Sandbox Code Playgroud)
而这个向量:
> x
[1] 10 25 34 41 59
Run Code Online (Sandbox Code Playgroud)
我应该对行的元素进行求和,然后使用x向量上的相应值减去结果.
例:
10 - (1 + 8 + 36 + 180)
25 - (5 + 24 + 21 + 32)
34 - (9 + 40 + 6 + 48)
41 - (13 + 56 + 45 + 180)
59 …
Run Code Online (Sandbox Code Playgroud)