[R] Overlapping parameters "k" in different functions in "ipred"
Uwe Ligges
ligges at statistik.tu-dortmund.de
Sun Apr 26 16:43:11 CEST 2009
WilDsc0p wrote:
> Dear List,
>
> I have a question regarding "ipred" package. Under 10-fold cv, for different knn ( = 1,3,...25), I am getting same misclassification errors:
> #############################################
> library(ipred)
> data(iris)
> cv.k = 10 ## 10-fold cross-validation
> bwpredict.knn <- function(object, newdata) predict.ipredknn(object, newdata, type="class")
> for (i in seq(1,25,2)){
> set.seed(19)
> a<-errorest(Species ~ ., data=iris, model=ipredknn, estimator="cv", est.para=control.errorest(k=cv.k), predict=bwpredict.knn, nk = i)$err
> print(a)
> }
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> [1] 0.02666667
> #############################################
> I think its is because in "ipredknn" and "control.errorest" has the same variable "k" (I guess k=5 default in ipredknn is returning). If I use
No, but because you are resetting the seed of the random number
generator to the same value in each iteration of your loop.
>
> errorest(Species ~ ., data=iris, model=ipredknn, estimator="cv", est.para=control.errorest(k=cv.k), predict=bwpredict.knn, k = 1)
>
> the following message is generated:
> Error in cv.factor(y, formula, data, model = model, predict = predict, :
> formal argument "k" matched by multiple actual arguments
>
> I can't seem to change "k" to "nk" in "ipredknn". If I try
> ipred::ipredknn <- function (formula, data, subset, na.action, nk = 5, ...){.......}
> I get the message-
> Error in ipred::ipredknn <- function(formula, data, subset, na.action, :
> object "ipred" not found
>
> How can I fix that? Any suggestion would be greatly appreciated.
You don't need (see above), but you can with assignInNamespace() and
friends, see ?assignInNamespace.
Uwe Ligges
> Thanks in advance,
>
>
> - mek
>
> R.Version() $platform "i386-pc-mingw32" $arch "i386" $os "mingw32" $system "i386, mingw32" $status "" $major "2" $minor "8.1" $year "2008" $month "12" $day "22" $`svn rev` "47281" $language "R" $version.string "R version 2.8.1 (2008-12-22)"
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list