[Mboost-commits] r759 - in pkg: mboostDevel/R mboostPatch/R

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Jan 20 10:45:31 CET 2014


Author: hofner
Date: 2014-01-20 10:45:29 +0100 (Mon, 20 Jan 2014)
New Revision: 759

Modified:
   pkg/mboostDevel/R/bmrf.R
   pkg/mboostPatch/R/bmrf.R
Log:
- allow direct specification of neighborhood matrices 
  with more regions than defined by the data set 
  (i.e., regions without observations)


Modified: pkg/mboostDevel/R/bmrf.R
===================================================================
--- pkg/mboostDevel/R/bmrf.R	2014-01-09 18:12:53 UTC (rev 758)
+++ pkg/mboostDevel/R/bmrf.R	2014-01-20 09:45:29 UTC (rev 759)
@@ -62,7 +62,7 @@
         K <- bnd2gra(bnd)
     else if (isMATRIX(bnd) &&
              nrow(bnd) == ncol(bnd) &&
-             nlevels(mf[[1]]) == nrow(bnd) &&
+             nlevels(mf[[1]]) <= nrow(bnd) &&
              sum(bnd) == 0 &&
              all(levels(mf[[1]]) %in% rownames(bnd)))
         K <- bnd
@@ -98,10 +98,10 @@
         X <- X * by
     }
     if (isTRUE(args$center)) {
-        ### L = \Gamma \Omega^1/2 in Section 2.3. of Fahrmeir et al. 
+        ### L = \Gamma \Omega^1/2 in Section 2.3. of Fahrmeir et al.
         ### (2004, Stat Sinica)
         SVD <- eigen(K, EISPACK = FALSE)
-        ev <- SVD$vectors[, -dim(SVD$vectors)[2]] 
+        ev <- SVD$vectors[, -dim(SVD$vectors)[2]]
         ew <- SVD$values[-length(SVD$values)]
         X <- as(X %*% ev %*% diag(1/sqrt(ew)), "matrix")
         K <- as(diag(ncol(X)), "matrix")

Modified: pkg/mboostPatch/R/bmrf.R
===================================================================
--- pkg/mboostPatch/R/bmrf.R	2014-01-09 18:12:53 UTC (rev 758)
+++ pkg/mboostPatch/R/bmrf.R	2014-01-20 09:45:29 UTC (rev 759)
@@ -62,7 +62,7 @@
         K <- bnd2gra(bnd)
     else if (isMATRIX(bnd) &&
              nrow(bnd) == ncol(bnd) &&
-             nlevels(mf[[1]]) == nrow(bnd) &&
+             nlevels(mf[[1]]) <= nrow(bnd) &&
              sum(bnd) == 0 &&
              all(levels(mf[[1]]) %in% rownames(bnd)))
         K <- bnd
@@ -98,10 +98,10 @@
         X <- X * by
     }
     if (isTRUE(args$center)) {
-        ### L = \Gamma \Omega^1/2 in Section 2.3. of Fahrmeir et al. 
+        ### L = \Gamma \Omega^1/2 in Section 2.3. of Fahrmeir et al.
         ### (2004, Stat Sinica)
         SVD <- eigen(K, EISPACK = FALSE)
-        ev <- SVD$vectors[, -dim(SVD$vectors)[2]] 
+        ev <- SVD$vectors[, -dim(SVD$vectors)[2]]
         ew <- SVD$values[-length(SVD$values)]
         X <- as(X %*% ev %*% diag(1/sqrt(ew)), "matrix")
         K <- as(diag(ncol(X)), "matrix")



More information about the Mboost-commits mailing list