Dear All, I'm getting a error while trying to apply the BreastCancer dataset (package=mlbench) to kknn (package=kknn) that I don't understand as I'm new to R. The codes are as follow:
rm = (list = ls()) library(mlbench) data(BreastCancer) library(kknn) BCancer = na.omit(BreastCancer) d = dim(BCancer)[1] i1 = seq(1, d, 2) i2 = seq(2, d, 2) t1 = BCancer[i1, ] t2 = BCancer[i2, ] y2 = BCancer[i2, 11] x = 10 k = array(1:x, dim = c(x,1)) ker = array(c( "rectangular", "triangular", "epanechnikov", "biweight", "triweight", "cos", "inv", "gaussian"), dim = c(8,1)) f = function(x, ker){ BreastCancer.kknn <- kknn(Class~., train = t1, test = t2, k = x, kernel = ker, distance = 1) fit = fitted(BreastCancer.kknn) z <- (fit==y2) z.e <- (100 - (length(y2)-length(z[!z]))/length(y2)*100 ) } err.k = function(ker){ error.BreastCancer = apply(k,1,function(y) f(y, ker)) } err.ker = apply(ker, 1, err.k) colnames(err.ker) = c("rectangular", "triangular", "epanechnikov", "biweight", "triweight", "cos", "inv", "gaussian") print(err.ker) It throws a error: Error in as.matrix(learn[, ind == i]) : (subscript) logical subscript too long In addition: Warning messages: 1: In model.matrix.default(mt, mf) : variable 'Id' converted to a factor 2: In model.matrix.default(mt, test) : variable 'Id' converted to a factor I tried the codes with other datasets in mlbench package and most of them working. That is the mistake here for this particular dataset and how can I solve it? Thanks Nitin [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list 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.