**Error**is the difference between the

__observed value in a sample/subject and the true value__in the population (which is actually not known).

whereas

**Residual**is the difference between the

__observed value and the predicted (or estimated value)__from our regression equations.

So, even they may sound quite similar but are actually quite different. In regression, we have to be very careful about the

**residual diagnostics**. They are very vital.