set.seed(123)
x <- 1:100
y <- 5 + 2 * x + rnorm(100, mean = 0, sd = 10)
data <- data.frame(x, y)
model <- lm(y ~ x, data = data)
data$predicted <- predict(model)
fig <- plot_ly(data, x = data$x, y = data$y, type = 'scatter', mode = 'markers', name = 'Actual Data')
fig <- add_trace(fig, x = data$x, y = data$predicted, mode = 'lines', name = 'Regression Line', line = list(color = 'red'))
fig <- layout(fig,
title = "Linear Regression in R using Plotly",
xaxis = list(title = "X"), yaxis = list(title = "Y"))