R:nls() 公式中的多项式快捷符号

标签 r formula nls lm

使用线性模型函数 lm() 多项式公式可以包含这样的快捷符号:

m <- lm(y ~ poly(x,3))

这是一个快捷方式,可以让用户不必创建 x^2 和 x^3 变量或将它们输入到公式中,例如 I(x^2) + I(x^3) .非线性函数是否有类似的表示法 nls() ?

最佳答案

poly(x, 3)不仅仅是 x + I(x ^ 2) + I(x ^ 3) 的快捷方式- 它实际上产生 legendre polynomials具有不相关的良好属性:

options(digits = 2)
x <- runif(100)
var(cbind(x, x ^ 2, x ^ 3))
#       x            
# x 0.074 0.073 0.064
#   0.073 0.077 0.071
#   0.064 0.071 0.067
zapsmall(var(poly(x, 3)))
#      1    2    3
# 1 0.01 0.00 0.00
# 2 0.00 0.01 0.00
# 3 0.00 0.00 0.01

关于R:nls() 公式中的多项式快捷符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3643606/

相关文章:

R : catching errors in `nls`

r - 运行时-使用Apply函数

r - 如何在 R 中的 NA 之后生成虚拟变量

r - 将可变长度列表转换为 R 中的矩阵

math - 如何找到矩形的中心坐标?

sql - 为什么小写的 'i' 在执行 NLS_UPPER 后映射到 '?'

c# - Azure 应用服务似乎在 .NET 5 模式下启用了 NLS

r - GLMER : Error: (maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate

具有乱序变量特性的Java公式评估库

java - Hibernate 更改 @Formula 中的别名