Я подгоняю многомерную модель с lmRob
в пакете robust
, и мне нравится подгонка. Как я могу использовать подгонку, чтобы сделать прогноз в данной точке? Хакерское решение состоит в том, чтобы построить его и разместить горизонтальные и вертикальные линии на графике, чтобы точно определить
Как я могу передать модели точку и заставить ее выдать прогноз? Я представляю, что это что-то вроде:
predict(model, newdata = data.frame(x = 2, y = 90))
Но это дает мне ошибку:
predict(model, newdata = data.frame(x = 2, y = 90))
Error in `contrasts<-`(`*tmp*`, value = contrasts.arg[[nn]]) :
contrasts apply only to factors
traceback()
это:
> traceback()
7: stop("contrasts apply only to factors")
6: `contrasts<-`(`*tmp*`, value = contrasts.arg[[nn]])
5: model.matrix.default(delete.response(Terms), newdata, contrasts = object$contrasts,
xlevels = attr(object, "xlevels"))
4: model.matrix(delete.response(Terms), newdata, contrasts = object$contrasts,
xlevels = attr(object, "xlevels"))
3: predict.lmRob(model, newdata = data.frame(x = 1,
y = 90), interval = "predict")
2: predict(model, newdata = data.frame(x = 1, y = 90),
interval = "predict")
1: predict(model, newdata = data.frame(x = 1, y = 90),
interval = "predict")
Если я просто попытаюсь передать исходный набор данных в predict
, я получу:
Error in x %*% coefs : non-conformable arguments
Добавление соответствующих уровней фактора устраняет первое предупреждение, но оставляет второе.
non-conformable
аргументов? 10.08.2015