Предположим, у меня есть линейная модель с lm
. Просто тривиальное:Как включить модель в R
x = 1:10
y = 1:10
lm1 = lm(y ~ x)
Теперь я хочу, чтобы превратить его в функцию, которая в данном конкретном примере будет вести себя просто как function(x) {x}
. Как мне это сделать?
Ну, один из способов будет использовать предсказать:
f = function(x) { predict(lm1, newdata = data.frame(x)) }
Но это выглядит неоправданно громоздким. Есть ли способ лучше?
вы имели в виду 'F = функция (х) {предсказывающие (LM1, NewData = data.frame (х)) } '? не уверен, для чего предназначен 'seq (x, x)'. – Ricky
Да, точно. Нет причин использовать seq. – akalenuk
Но почему вы видите это громоздким? После написания вы выключены и запущены. Вы можете даже расширить его до 'anyf <-function (x, model) pred (model, newdata = data.frame (x))' tho 'Я думаю, вам нужно будет включить аргумент, чтобы заставить 'name'' x', чтобы соответствовать именам входных переменных указанной модели. –