From 78781c3103e70d7f8ddeda1b3186b2669cf9ac4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20Holl=C3=B3s?= Date: Thu, 24 Jan 2019 21:19:29 +0100 Subject: [PATCH] Fix the bug for randType 2 --- RBBGCMuso/R/musoRand.R | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/RBBGCMuso/R/musoRand.R b/RBBGCMuso/R/musoRand.R index 48f71d1..c0460da 100644 --- a/RBBGCMuso/R/musoRand.R +++ b/RBBGCMuso/R/musoRand.R @@ -54,14 +54,18 @@ musoRand <- function(parameters, constrains = NULL, iterations=3000){ } G<-G[dep[,4]!=0,] - + + if(is.null(nrow(G))){ + G<-t(as.matrix(G)) + } + numRowsInG <- nrow(G) if(Range[1]==1){ - G<-cbind(G,matrix(ncol=(N-Range[2]),nrow=nrow(G),data=0)) + G<-cbind(G,matrix(ncol=(N-Range[2]),nrow=numRowsInG,data=0)) } else{ if(Range[2]==N){ - G<-cbind(matrix(ncol=(Range[1]-1),nrow=nrow(G),data=0),G) + G<-cbind(matrix(ncol=(Range[1]-1),nrow=numRowsInG,data=0),G) } else { - G <- cbind(matrix(ncol=(Range[1]-1),nrow=nrow(G),data=0),G,matrix(ncol=(N-Range[2]),nrow=nrow(G),data=0)) + G <- cbind(matrix(ncol=(Range[1]-1),nrow=numRowsInG,data=0),G,matrix(ncol=(N-Range[2]),nrow=numRowsInG,data=0)) } } return(list(G=G,h=rep(0,nrow(G)))) @@ -86,6 +90,10 @@ musoRand <- function(parameters, constrains = NULL, iterations=3000){ G <- t(matrix(sign(dep[2,4])*G)) h <- abs(dep[1,4]) + if(dep[1,"TYPE"]==2){ + G <- G*(-1) + h <- h*(-1) + } return(list(G=G,h=h)) }