Hmmm, this pretty much looks like homework this list is not intended
for. Please ask your supervisor/teacher why nautodata$mydata.MPG is not
numeric if you cannot find that out yourself.
Best,
Uwe Ligges
On 01.03.2016 00:49, Alnazer Elbedairy wrote:> dear all
> attached you will find a csv datasets, there are many steps before these
> they work properly. but I have errors in these steps I guess. any help
> appreciated.
>
> Step1: convert the data from continuous to categorical
>
> ##nautodata is the normalized data. I did it in the previous steps.
>
> MPGCat= c(0,10,15,20,25,30, 35, 40)
> MPG <- cut(nautodata$mydata.MPG, MPGCat,labels = c(1:7))
> nautodata = data.frame(MPG, nautodata[2:7])
> nautodata
>
>
> Step 2: divided into 10 folds: as follow
>
>
> fold1= nautodata[1:39,]
> fold2= nautodata[40:79,]
> fold3= nautodata[80:119,]
> fold4= nautodata[120:159,]
> fold5= nautodata[160:199,]
> fold6= nautodata[200:139,]
> fold7= nautodata[240:279,]
> fold8= nautodata[280:319,]
> fold9= nautodata[320:359,]
> fold10= nautodata[360:398,]
>
> datafolds= list(fold1, fold2, fold3, fold4,
> fold5,fold6,fold7,fold8,fold9,fold10)
>
> step3:
> ##conduct 10-fold cross validation on KNN
>
> KNNFoldError= c(0,0,0,0,0,0,0,0,0,0)
> MGFoldError= c(0,0,0,0,0,0,0,0,0,0)
>
> for (i in 1:10)
> {
> trainData = NULL
> for(j in 1:10)
> {
> if(i !=j)
> {
> trainData = rbind(trainData, datafolds[[j]])
> }
> else
> testData = datafolds[[j]]
> }
> #print (trainData)
> #print(testData)
> targetData = trainData$MPG
> testTargetData = testData$MPG
>
> trainData$MPG= NULL
> testData$MPG = NULL
>
> M1 = knn(train=trainData, test=testData, cl=targetData, k=20)
> M2 = MajorityGuessing(testData,MPGCat)
> print(table(testTargetData,M1))
> print(testTargetData)
> print(M1)
> print(M2)
>
> KNNFoldError[i] = round(mean(testTargetData != M1), 3)
> MGFoldError[i] = round(mean(testTargetData != M2), 3)
> print(KNNFoldError)
> print(MGFoldError)
> }
>
> ## these are the error I got:
> Quitting from lines 80-86 (Lab3 at M.Rmd)
> Error in cut.default(nautodata$mydata.MPG, MPGCat, labels = c(1:7)) :
> 'x' must be numeric
> Calls: <Anonymous> ... withCallingHandlers -> withVisible ->
eval -> eval
> -> cut -> cut.default
> Execution halted
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>