Было бы лучше, если бы вы предоставили данные, из того, что я вижу, выполнение прогнозирования без предоставления data.frame с правильным именем переменной могло бы вызвать проблему. Если я перезапущу ваш код для некоторых данных:
set.seed(100)
df1 = data.frame(Level=runif(4704))
df1$Discharge=20*df1$Level + runif(4704)
fit <- lm(Level ~ Discharge, data = df1)
xx <- seq(0, max(df1$Discharge), length = 4704)
plot(x = df1$Discharge, y = df1$Level, pch = 19)
Эта строка выдает ошибку:
lines(xx, predict(fit, data.frame(x = xx)), col = "red")
Error in eval(predvars, data, env) : object 'Discharge' not found
Если вы измените имена столбцов, это сработает:
lines(xx, predict(fit, data.frame(Discharge = xx)), col = "red")
Приведите воспроизводимый пример.