2

我们可以在 R 中生成正交多项式, pp <- poly(cars$speed, 2) 有没有办法从结果中获取原始值pp(逆多元函数)?

换句话说,该函数应该f返回以下结果:

f(poly(cars$speed, 2)) == cars$speed?

4

1 回答 1

3

cars$speed对于某些标量 a 和 b 必须是 a + b * pp[, 1] 的形式,并且知道coefspoly 对象的属性包含可用于重建的值,我们发现cars$speedas的以下重建speed

pp <- poly(cars$speed, 2)
speed <- with(attr(pp, "coefs"), alpha[1] + sqrt(norm2)[3] * pp[, 1])

all.equal(speed, cars$speed)
## [1] TRUE
于 2021-04-16T17:43:02.617 回答