library(MASS)
library(dplyr)
library(plotly)
data(Boston)
clean_Boston = na.omit(Boston[, c("medv", "rm", "age")])
model = lm(medv ~ rm + age, data = clean_Boston)
grid_rm <- seq(min(clean_Boston$rm), max(clean_Boston$rm), length.out = 40)
grid_age <- seq(min(clean_Boston$age), max(clean_Boston$age), length.out = 40)
grid <- expand.grid(rm = grid_rm, age = grid_age)
grid$pred_medv <- predict(model, newdata = grid)
fig <- plot_ly(
data = clean_Boston,
x = ~rm,
y = ~age,
z = ~medv,
type = "scatter3d",
mode = "markers",
marker = list(size = 3, color = ~medv, opacity = 0.6)
)