[R] Error of matrix and dimnames when using SVM in R

uc la uclatutor18 at yahoo.com
Wed Sep 23 21:05:57 CEST 2015


Hi all!
I am having problems with using SVM in R

I have a data frame `trainData` which contains 198 rows and  looks like 

Matchup Win HomeID AwayID A_TWPCT A_WST6 A_SEED B_TWPCT B_WST6 B_SEED2010_1115_1457   1   1115   1457   0.531      5     16   0.567      4     16
2010_1124_1358   1   1124   1358   0.774      5      3    0.75      5     14
    ...

The testData is similar. 

In order to use SVM, I have to change the response variable Win to a factor. I tried the below:

    trainDataSVM <- trainData
    trainDataSVM$Win <- factor(trainDataSVM$Win)
    svmfit =svm (Win ~ A_WST6 + A_SEED + B_WST6 + B_SEED , data = trainDataSVM , kernel ="linear", cost =10,scale =FALSE, probability=TRUE )
    testDataSVM<-testData
    testDataSVM$Win <-factor(testDataSVM$Win)
    predictions_SVM <- predict(bestmod, testDataSVM, type = "response",probability=TRUE)

However, I get the message 

    Error in matrix(ret$prob, nrow = nrow(newdata), byrow = TRUE, dimnames = list(rowns,  : 
  length of 'dimnames' [2] not equal to array extent

If I re-run the code except not changing trainDataSVM$Win and testDataSVM$Win to factors, if I print out predictions_SVM, I get the message named numeric(0)

How do I fix this?
Thanks!

	[[alternative HTML version deleted]]



More information about the R-help mailing list