X-Git-Url: http://iramuteq.org/git?a=blobdiff_plain;f=Rscripts%2FCHD.R;h=4e64b01bbb612648265ced9c2c8cb303118e08ca;hb=c93664303b811f5e664dfe85dd6cb7de99a5b557;hp=e6a3c7b5d6733ad2ec7e23d2155eff87da5e5305;hpb=4f2dc8e6823ac5886f758a6ad3f1ae6acb01916c;p=iramuteq diff --git a/Rscripts/CHD.R b/Rscripts/CHD.R index e6a3c7b..4e64b01 100644 --- a/Rscripts/CHD.R +++ b/Rscripts/CHD.R @@ -1,5 +1,5 @@ #Author: Pierre Ratinaud -#Copyright (c) 2008-2011 Pierre Ratinaud +#Copyright (c) 2008-2020 Pierre Ratinaud #License: GNU/GPL pp<-function(txt,val) { @@ -26,17 +26,28 @@ find.max <- function(dtable, chitable, compte, rmax, maxinter, sc, TT) { lo[1:nrow(dtable)] <- 0 for (k in 1:nrow(ln)) {lo[[ln[k,1]]]<-append(lo[[ln[k,1]]],ln[k,2])} for (k in 1:nrow(dtable)) {lo[[k]] <- lo[[k]][-1]} - lo<-lo[-c(1,length(lo))] - for (l in lo) { - compte <- compte + 1 - chitable[1,l]<-chitable[1,l]+1 - chitable[2,l]<-chitable[2,l]-1 - chi<-MyChiSq(chitable,sc,TT) - if (chi>maxinter) { - maxinter<-chi - rmax<-compte - } - } + ## lo<-lo[-c(1,length(lo))] + ## for (l in lo) { + ## compte <- compte + 1 + ## chitable[1,l]<-chitable[1,l]+1 + ## chitable[2,l]<-chitable[2,l]-1 + ## chi<-MyChiSq(chitable,sc,TT) + ## if (chi>maxinter) { + ## maxinter<-chi + ## rmax<-compte + ## } + #} + lo<-lo[-c(1)] + for (l in lo) { + chi<-MyChiSq(chitable,sc,TT) + if (chi>maxinter) { + maxinter<-chi + rmax<-compte + } + compte <- compte + 1 + chitable[1,l]<-chitable[1,l]+1 + chitable[2,l]<-chitable[2,l]-1 + } res <- list(maxinter=maxinter, rmax=rmax) res } @@ -219,7 +230,7 @@ CHD<-function(data.in, x=9, mode.patate = FALSE, svd.method, libsvdc.path=NULL){ print('longueur < 0') malcl<-length(vdelta) if ((it>1)&&(!is.logical(listsub[[it]]))&&(!is.logical(listsub[[it-1]]))){ - if (listsub[[it]]==listsub[[(it-1)]]){ + if (all(listsub[[it]]==listsub[[(it-1)]])){ malcl<-0 } }