title: Error in ConfusionMatrix the data and reference factors must have the same number of levels
body: <p>I've trained a tree model with R caret. I'm now trying to generate a confusion matrix and keep getting the following error:</p>
  
  <blockquote>
    <p>Error in confusionMatrix.default(predictionsTree,  testdata$catgeory)
    : the data and reference factors must have the same number of levels</p>
  </blockquote>
  
  <pre><code>prob &lt;- 0.5 #Specify class split
  singleSplit &lt;- createDataPartition(modellingData2$category, p=prob,
                                     times=1, list=FALSE)
  cvControl &lt;- trainControl(method="repeatedcv", number=10, repeats=5)
  traindata &lt;- modellingData2[singleSplit,]
  testdata &lt;- modellingData2[-singleSplit,]
  treeFit &lt;- train(traindata$category~., data=traindata,
                   trControl=cvControl, method="rpart", tuneLength=10)
  predictionsTree &lt;- predict(treeFit, testdata)
  confusionMatrix(predictionsTree, testdata$catgeory)
  </code></pre>
  
  <p>The error occurs when generating the confusion matrix. The levels are the same on both objects. I cant figure out what the problem is. Their structure and levels are given below.
  They should be the same. Any help would be greatly appreciated as its making me cracked!!</p>
  
  <pre><code>&gt; str(predictionsTree)
   Factor w/ 30 levels "16-Merchant Service Charge",..: 28 22 22 22 22 6 6 6 6 6 ...
  &gt; str(testdata$category)
   Factor w/ 30 levels "16-Merchant Service Charge",..: 30 30 7 7 7 7 7 30 7 7 ...
  
  &gt; levels(predictionsTree)
   [1] "16-Merchant Service Charge"   "17-Unpaid Cheque Fee"         "18-Gov. Stamp Duty"           "Misc"                         "26-Standard Transfer Charge" 
   [6] "29-Bank Giro Credit"          "3-Cheques Debit"              "32-Standing Order - Debit"    "33-Inter Branch Payment"      "34-International"            
  [11] "35-Point of Sale"             "39-Direct Debits Received"    "4-Notified Bank Fees"         "40-Cash Lodged"               "42-International Receipts"   
  [16] "46-Direct Debits Paid"        "56-Credit Card Receipts"      "57-Inter Branch"              "58-Unpaid Items"              "59-Inter Company Transfers"  
  [21] "6-Notified Interest Credited" "61-Domestic"                  "64-Charge Refund"             "66-Inter Company Transfers"   "67-Suppliers"                
  [26] "68-Payroll"                   "69-Domestic"                  "73-Credit Card Payments"      "82-CHAPS Fee"                 "Uncategorised"   
  
  &gt; levels(testdata$category)
   [1] "16-Merchant Service Charge"   "17-Unpaid Cheque Fee"         "18-Gov. Stamp Duty"           "Misc"                         "26-Standard Transfer Charge" 
   [6] "29-Bank Giro Credit"          "3-Cheques Debit"              "32-Standing Order - Debit"    "33-Inter Branch Payment"      "34-International"            
  [11] "35-Point of Sale"             "39-Direct Debits Received"    "4-Notified Bank Fees"         "40-Cash Lodged"               "42-International Receipts"   
  [16] "46-Direct Debits Paid"        "56-Credit Card Receipts"      "57-Inter Branch"              "58-Unpaid Items"              "59-Inter Company Transfers"  
  [21] "6-Notified Interest Credited" "61-Domestic"                  "64-Charge Refund"             "66-Inter Company Transfers"   "67-Suppliers"                
  [26] "68-Payroll"                   "69-Domestic"                  "73-Credit Card Payments"      "82-CHAPS Fee"                 "Uncategorised"       
  </code></pre>