Suppose we want to know the equation of the line that passes through 2 points A and B, such that:
A = c(2, 54) B = c(14, 25)
Quick solution
# step 1: separate the x and y coordinates xs = c(A[1], B[1]) ys = c(A[2], B[2]) # step 2: fit a linear equation that predicts ys using xs lm(ys ~ xs)
Output:
Call: lm(formula = ys ~ xs) Coefficients: (Intercept) xs 58.833 -2.417
So, the equation of the line that passes through A and B is:
\(f(x) = -2.417x + 58.833\)
To get more digits after the decimal point, use:
# print the maximum number of significant digits options(digits = 22) lm(ys ~ xs)
Output:
Call: lm(formula = ys ~ xs) Coefficients: (Intercept) xs 58.8333333333333144 -2.4166666666666656
Mathematical solution
In order to find the linear equation: \(y = mx + b\), we can use the following formula for finding the slope m:
\(m = \frac{y_B – y_A}{x_B – x_A}\)
# calculating the slope m = (B[2] - A[2]) / (B[1] - A[1]) # print(m) outputs: -2.416667
And the y intercept b is:
\(b = y – mx\)
So, \(b = y +2.416667x\)
Next, we can use either point A or B to solve the equation.
Let’s use A:
Since the equation has to pass through A(2, 54) then:
# A(2, 54) is a solution of b = y - mx, so: b = 54 + 2.416667 * 2 # print(b) outputs: 58.83333
So, the equation of the line that passes through A and B is:
\(f(x) = -2.416667x + 58.83333\)
Example
The monthly income (in US dollars) of an employee in a factory can be modeled with a linear function f(x), where x is the number of hours worked.
Last month:
- Employee A worked 160 hours and made 1,800$.
- Employee B worked 200 hours and made 2,000$.
Find the equation of the function f(x).
Solution:
A = c(160, 1800) B = c(200, 2000) # grouping the x and y coordinates xs = c(A[1], B[1]) ys = c(A[2], B[2]) # finding the equation of the line lm(ys ~ xs)
Output:
Call: lm(formula = ys ~ xs) Coefficients: (Intercept) xs 1000 5
So, \(f(x) = 1000 + 5x\)
Interpretation:
The employees’ monthly base salary is 1,000$, plus 5 times the number of hours they work per month.