Я хочу добавить столбцы, содержащие полиномы, в фрейм данных (DF).
Справочная информация: мне нужно использовать полиномы в настройках glmnet. Я не могу вызвать poly () напрямую в команде оценки glmnet (). Я получаю сообщение об ошибке, вероятно, потому что мои данные «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])
Однако я не могу понять, как «связать» результаты. В конце я хочу получить DF, в котором содержатся x, x ^ 2, y, y ^ 2. Заказ не имеет значения. Тем не менее, в идеале у меня также должны быть метки столбцов (для определения полисов). Например, как это:
x x2 y y2
1 1 1 11 121
2 2 4 12 144
3 3 9 13 169
Спасибо ...
Ура!