So I'm trying to figure out how to use the command qr.solve in R to solve for the components of a best fit line (slope and intercept) in accordance to a particular data set. Although I already know how to do this using the lm function, to my understanding, the qr factorization of a matrix could yield the same thing. Would someone be able to explain how such a thing is true, and maybe its benefits over a simple linear model command? Could the inputs of the qr.solve function be implements in R, or would I have to solve it myself first and plug it into R afterwards?
I tried inputting my data set (2 columns each of whose rows represent points on a graph) into a matrix and using that as an x argument in the function qr.solve. However, I'm not too sure what to plug in for b.

QR decomposition can solve Ax = b. Thus when the least squares solution gets to the point: XTy = XTXB we can use A = XTX and b = XTy to solve for x = B.