v1.3.7 >>>> Dec. 12, 2020 # (1) added function "genOrthogonal" to export list # v1.3.6 >>>> Nov. 21, 2020 # (1) added "na.rm=TRUE" when calling 'sum', 'max' # (2) when call a function, explicitly call its input # (3) fixed a bub in function 'genMeanCov': when calling 'genPositiveDefMat', the input 'eigenvalue' was missing. # (4) added input argument 'eigenvalue' to function 'genMeanCov' and 'genRandomClust' and 'genNoisyMeanCov' and 'simClustDesign' v1.3.5 >>>> Oct. 3, 2020 # (1) add new argument "eigenvalue" so that user can supply own eigenvalues for algorithm covMethod=c("eigen") # (2) in genPositiveDefMat, using crossprod(Q * sqrt(egvalues)) instead of Sigma <- Q %*% u %*% t(Q) leads to nice improvements (3-4 times faster) when simulating large matrices (dim>500). Reason is that the new code does not require to form the u matrix, and that crossprod() is quite faster when used with a single argument (exploiting that output will be symmetric) # # Thanks Dr. Matthieu Stigler (matthieu.stigler@gmail.com) for these 2 suggestions! # # (3) change maintainer's email address to v1.3.2 >>>> Feb 14, 2015 # (1) fixed a few bugs in function 'getSepProjData': # 'u.cl <- unique(cl)' should be # 'u.cl <- sort(unique(cl)' # 'yi <- y[cl == u.cl[i], , drop = FALSE]' # should be # 'yi <- y[which(cl == u.cl[i]), , drop = FALSE]' v1.3.1 >>>> Jan 7, 2013 # (1) added a space between 'Weiliang Qiu' and # '' in the 'Maintainer' slot # in the DESCRIPTION file # Thank Dr. Kurt Hornik for his kind help! # v1.3.0 >>>> Jan 6, 2013 # (1) rename 'log.txt' file to 'NEWS'. # Thanks for Mr. Suraj Gupta () for this suggestion! # v1.2.9 >>>> April 2, 2012 # (1) fixed a bug pointed by Dr. Anton Korobeynikov # # Dear Dr. Weiliang Qiu, # # Recently we tried to used your package clusterGeneration but found # that the behavior of genRandomClust() with clustszind == 3 is # definitely wrong compared to the one documented. # After looking into the implementation it became obvious that # genMemSize() function does wrong things: it tries to sample from 1:G # using provided clusterSizes as weights. Surely the output clusters # have wrong sizes (not the ones specified). # # The fix is pretty simple: change the code for clustszind == 3 to # something like this: # # mem <- sample(unlist(lapply(1:G, function(x) rep.int(x, times = # clustSizes[x])))) # N <- sum(clustSizes) # # Or, maybe if you want to keep the current behavior it'd be better to # introduce new clustszind variant. # # # # (2) add 'clustSizes<-as.integer(clustSizes)' before checking # '!is.integer(clustSizes[i])' # v1.2.8 >>>> March 19, 2012 (1) fixed a few warning messages: # (a)>> #* checking R code for possible problems ... NOTE #genNoisyMeanCov: warning in eigen(Sigma.noisy, sym = TRUE): partial # argument match of 'sym' to 'symmetric' # # (b)>>> #** running examples for arch 'i386' ... WARNING #Found the following significant warnings: # # Warning: sd() is deprecated. # Warning: sd() is deprecated. # Warning: sd() is deprecated. # Warning: sd() is deprecated. #Deprecated functions may be defunct as soon as of the next release of #R. #See ?Deprecated. #** running examples for arch 'x64' ... WARNING #Found the following significant warnings: # # Warning: sd() is deprecated. # Warning: sd() is deprecated. # Warning: sd() is deprecated. # Warning: sd() is deprecated. #Deprecated functions may be defunct as soon as of the next release of #R. #See ?Deprecated. # (2) add 'na.rm=TRUE' to functions 'min', 'max', 'sum', 'mean', 'median', etc.