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]]
______________________________________________
[email protected] 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.