title: How to interpret lm() coefficient estimates when using bs() function for splines
body: <p>I'm using a set of points which go from <code>(-5,5)</code> to <code>(0,0)</code> and <code>(5,5)</code> in a "symmetric V-shape". I'm fitting a model with <code>lm()</code> and the <code>bs()</code> function to fit a "V-shape" spline:</p>
  
  <pre><code>lm(formula = y ~ bs(x, degree = 1, knots = c(0)))
  </code></pre>
  
  <p>I get the "V-shape" when I predict outcomes by <code>predict()</code> and draw the prediction line. But when I look at the model estimates <code>coef()</code>, I see estimates that I don't expect.</p>
  
  <pre><code>Coefficients:
                                   Estimate Std. Error t value Pr(&gt;|t|)  
  (Intercept)                       4.93821    0.16117  30.639 1.40e-09 ***
  bs(x, degree = 1, knots = c(0))1 -5.12079    0.24026 -21.313 2.47e-08 ***
  bs(x, degree = 1, knots = c(0))2 -0.05545    0.21701  -0.256    0.805 
  </code></pre>
  
  <p>I would expect a <code>-1</code> coefficient for the first part and a <code>+1</code> coefficient for the second part. Must I interpret the estimates in a different way?</p>
  
  <p>If I fill the knot in the <code>lm()</code> function manually than I get these coefficients:</p>
  
  <pre><code>Coefficients:
              Estimate Std. Error t value Pr(&gt;|t|)    
  (Intercept) -0.18258    0.13558  -1.347    0.215    
  x           -1.02416    0.04805 -21.313 2.47e-08 ***
  z            2.03723    0.08575  23.759 1.05e-08 ***
  </code></pre>
  
  <p>That's more like it. Z's (point of knot) relative change to x is ~ +1</p>
  
  <p>I want to understand how to interpret the <code>bs()</code> result. I've checked, the manual and <code>bs</code> model prediction values are exact the same.</p>