poly 有反函数吗?

问题描述

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

换句话说,返回以下结果的函数 f 应该是什么样子:

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

解决方法

cars$speed 对于某些标量 a 和 b 必须是 a + b * pp[,1] 形式,并且知道 poly 对象的 coefs 属性包含可用于重建的值,我们找到 cars$speed 的以下重构为 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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...