二次形式的公式处理

时间:2016-03-03 23:17:33

标签: r math machine-learning statistics artificial-intelligence

我有一个简短的问题,为什么下面的操作不起作用:

BAD ~ A + B + C # normal case

BAD ~ A + B^2 + C^2 # manipulated

解决方案是什么,谢谢!

1 个答案:

答案 0 :(得分:1)

R公式界面不是为符号数学而设计的,而是为了建模。如果您想在模型中使用二次项,请学会使用poly

BAD ~ A + poly(B, 2) + poly(C,2) 

抵制se I(C^2)的诱惑,因为这会导致糟糕的统计推断。有几个用于符号操作"方程式的包#34; polynom是我记忆中的名字。外部符号数学包Yacas还有RYacas包装器。

如果您开始使用模型组件的字符值,那么这会将这些片段组合为文本,最后转换为公式类:

> y = "Y"
> preds <- LETTERS[1:3]

> as.formula( paste( y,"~", paste( paste0( "poly(",preds,",",2, ")"), collapse="+") ))
Y ~ poly(A, 2) + poly(B, 2) + poly(C, 2)

我在试图采取双面&#34;公式和polyize它。也许我会自己提出这个问题。