title: Tree sizes given by CP table in rpart
body: <p>In the R package rpart, what determines the size of trees presented within the CP table for a decision tree? In the below example, the CP table defaults to presenting only trees with 1, 2, and 5 nodes (as nsplit = 0, 1 and 4 respectively).</p>
  
  <pre><code>library(rpart)   
  fit &lt;- rpart(Kyphosis ~ Age + Number + Start, method="class", data=kyphosis)
  &gt; printcp(fit) 
  
  Classification tree:
  rpart(formula = Kyphosis ~ Age + Number + Start, data = kyphosis, 
  method = "class")
  
  Variables actually used in tree construction:
  [1] Age   Start
  
  Root node error: 17/81 = 0.20988
  
  n= 81 
  
          CP nsplit rel error  xerror    xstd
  1 0.176471      0   1.00000 1.00000 0.21559
  2 0.019608      1   0.82353 0.94118 0.21078
  3 0.010000      4   0.76471 0.94118 0.21078
  </code></pre>
  
  <p>Is there an inherent rule <code>rpart()</code> used to determine what size of trees to present? And is it possible to force <code>printcp()</code> to return cross-validation statistics for all possible sizes of tree, i.e. for the above example, also include rows for trees with 3 and 4 nodes (nsplit = 2, 3)?</p>