[Analogue-commits] r383 - pkg/R

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Wed Oct 9 06:29:50 CEST 2013


Author: gsimpson
Date: 2013-10-09 06:29:50 +0200 (Wed, 09 Oct 2013)
New Revision: 383

Modified:
   pkg/R/predict.pcr.R
Log:
argument n.boot renamed to nboot; needed to subset transformation object to get at transformed data

Modified: pkg/R/predict.pcr.R
===================================================================
--- pkg/R/predict.pcr.R	2013-10-09 02:49:41 UTC (rev 382)
+++ pkg/R/predict.pcr.R	2013-10-09 04:29:50 UTC (rev 383)
@@ -1,6 +1,6 @@
-`predict.pcr` <- function(object, newdata, ncomp = seq_len(object$ncomp),
+`predict.pcr` <- function(object, newdata, ncomp = seq_along(object$ncomp),
                           CV = c("none", "LOO", "bootstrap", "nfold"),
-                          verbose = FALSE, n.boot = 100, nfold = 5,
+                          verbose = FALSE, nboot = 100, nfold = 5,
                           ...) {
     if(missing(newdata))
         return(fitted(object))
@@ -17,13 +17,15 @@
         want <- spp.names[want]
         newdata <- newdata[, want, drop = FALSE]
         ## apply transformation to newdata
-        newdata <- object$tranFun(newdata)
+        tf <- object$tranFun(newdata)
+        newdata <- tf$data
         ## do predictions
         ## matrix of predictions
         pred <- matrix(ncol = length(ncomp), nrow = Np)
-        for(j in ncomp) {
-            B0 <- object$yMean - object$xMeans %*% B[, j]
-            pred[, j] <- newdata %*% B[, j] + rep(B0, Np)
+        for(j in seq_along(ncomp)) {
+            comp <- ncomp[j]
+            B0 <- object$yMean - object$xMeans %*% B[, comp]
+            pred[, j] <- newdata %*% B[, comp] + rep(B0, Np)
         }
     } else {
         stop("Other methods of crossvalidation not yet implemented")



More information about the Analogue-commits mailing list