Я хочу создать плоскость трехмерной регрессии для моего графика.Я не уверен, почему это не работает, но я думаю, что это связано с моим использованием функции предсказания (и соответствующих данных).
ESS3 <- ESS2 %>%
select(agertr, agea, eduyrs)
ESS3 <- na.omit(ESS3)
m5 <- lm(agertr ~ agea + eduyrs, data = ESS3)
# predict over sensible grid of values
ageas <- unique(ESS3$agea)
eduyrs1 <- unique(ESS3$eduyrs)
agertrs <- unique(ESS3$agertr)
grid <- with(ESS3, expand.grid(ageas, eduyrs1, agertrs))
d <- setNames(data.frame(grid), c("agea", "eduyrs", "agertrs"))
vals <- predict(model, newdata = d)
# form matrix and give to plotly
m <- matrix(vals, nrow = length(unique(d$agea)), ncol = length(unique(d$eduyrs)))
p <- plot_ly(m5, x = ~agea, y = ~agertr, z = ~eduyrs)
layout(scene = list(xaxis = list(title = 'Age'),
yaxis = list(title = 'Age of Retirement'),
zaxis = list(title = 'Years of Education')))
p %>% add_surface(x = ~ageas, y = ~eduyrs1, z = ~m)
Произошли две ошибки:
Ошибка в прогнозировании (модель, новые данные = d): объект 'модель' не найден Ошибка в матрице (значения, nrow = длина(уникальный (d $ agea)), ncol = длина (уникальный (d $ eduyrs))): объект 'vals' не найден
Этот код немного выходит за рамки моих возможностей, поэтому извините, если мой коднемного повсюду.Спасибо за любую помощь и совет.