我想将包含多项式的列添加到数据框(DF)。
背景:我需要在 glmnet 设置中使用多项式。我不能在 glmnet() 估计命令中直接调用 poly()。我收到一个错误,可能是因为我的“Xtrain”数据包含因子。我的解决方法是将我的 Xtrain DF 分成两部分,一部分包含所有因素(不需要转换),另一部分包含其余部分,即。数字列。
现在我想将带有多项式的列添加到我的数字 DF 中。这是我的问题的一个最小示例。
# Some data
x <- 1:10
y <- 11:20
df = as.data.frame(cbind(x,y))
# Looks like this
x y
1 1 11
2 2 12
3 3 13
# Now I generate polys
lapply(df, function(i) poly(i, 2, raw=T)[,1:2])
但是,我无法弄清楚如何“cbind”结果。我最终想要的是一个包含 x, x^2, y, y^2 的 DF。顺序无所谓。但是,理想情况下,我也会有列标签(以识别多边形)。例如像这样:
x x2 y y2
1 1 1 11 121
2 2 4 12 144
3 3 9 13 169
谢谢...干杯!