X-Git-Url: http://www.iramuteq.org/git?a=blobdiff_plain;f=tabchdalc.py;h=e4c8fc5e6096cc34ca732b383b0288ee78ec7c6c;hb=refs%2Fheads%2F3.0;hp=ce058335fa78ffc2d5aa54cf4c87af7ab6f1ede5;hpb=e950507e6d72b808f1f06131eaa561676eb27fad;p=iramuteq diff --git a/tabchdalc.py b/tabchdalc.py index ce05833..e4c8fc5 100644 --- a/tabchdalc.py +++ b/tabchdalc.py @@ -1,23 +1,35 @@ -#!/bin/env python # -*- coding: utf-8 -*- #Author: Pierre Ratinaud -#Copyright (c) 2008-2009 Pierre Ratinaud +#Copyright (c) 2008-2020 Pierre Ratinaud +#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020 #License: GNU/GPL +#------------------------------------ +# import des modules python +#------------------------------------ +import os +import sys +import tempfile +import time + +#------------------------------------ +# import des modules wx +#------------------------------------ +import wx + +#------------------------------------ +# import des fichiers du projet +#------------------------------------ from chemins import ConstructPathOut, ChdTxtPathOut, ConstructAfcUciPath, ffr, PathOut from functions import sortedby, CreateIraFile, print_liste, exec_rcode, check_Rresult from PrintRScript import RchdQuest from layout import OpenCHDS, PrintRapport from dialog import PrefQuestAlc from analysematrix import AnalyseMatrix -import os -import sys -import wx -import tempfile -import time class AnalyseQuest(AnalyseMatrix): + def doparametres(self, dlg = None): if dlg is not None : dial = PrefQuestAlc(self.parent, self.tableau) @@ -35,7 +47,7 @@ class AnalyseQuest(AnalyseMatrix): else : self.parametres = None dial.Destroy() - # DoQuestAlceste(parent, parametres) + # DoQuestAlceste(parent, parametres) #class DoQuestAlceste(AnalyseMatrix): def doanalyse(self): @@ -61,29 +73,23 @@ class AnalyseQuest(AnalyseMatrix): # parent=self.parent, # style=wx.PD_APP_MODAL | wx.PD_AUTO_HIDE | wx.PD_ELAPSED_TIME # ) - #AnalyseMatrix.__init__(self, parent, parent.tableau, self.parametres, dlg = dlg) - - - -#----------------------------------------------------------- -# def doanalyse(self) : -#------------------------------------------------------------------- + #----------------------------------------------------------- + # def doanalyse(self) : + #------------------------------------------------------------ #self.dictpathout = self.pathout self.pathout.basefiles(ChdTxtPathOut) self.tableau.pathout.basefiles(ChdTxtPathOut) -# self.parent.tableau.dictpathout = self.dictpathout - + #self.parent.tableau.dictpathout = self.dictpathout self.dlg.Center() count = 1 keepGoing = self.dlg.Update(count) -#------------------------------------------------------------------- + #------------------------------------------------------------------- count += 1 - self.dlg.Update(count, u"passage en O/1") + self.dlg.Update(count, "passage en O/1") if 'formatted' in self.parametres: self.tableau.make_01_alc_format(self.pathout['mat01.csv']) else: - print self.parametres['listsup'] self.tableau.make_01_from_selection(self.parametres['listact'], self.parametres['listsup']) file = open(self.pathout['listeuce1'], 'w') file.write('num uce;num uc\n') @@ -91,20 +97,22 @@ class AnalyseQuest(AnalyseMatrix): file.write('%i;%i\n' % (i, i)) file.close() self.nbind = len(self.tableau.linecontent) -#------------------------------------------------------------ + #------------------------------------------------------------ RchdQuest(self.pathout, self.parent.RscriptsPath, self.parametres['nbcl_p1'], self.parametres['mincl']) -#------------------------------------------------------------ + #------------------------------------------------------------ count += 1 - self.dlg.Update(count, u"Analyse (patientez...)") - + self.dlg.Update(count, "Analyse (patientez...)") pid = exec_rcode(self.parent.RPath, self.pathout['Rchdquest'], wait = False) while pid.poll() == None : - self.dlg.Pulse(u"Analyse (patientez...)") + self.dlg.Pulse("Analyse (patientez...)") time.sleep(0.2) - check_Rresult(self.parent, pid) -#------------------------------------------------------------ + if not check_Rresult(self.parent, pid) : + if self.dlg : + self.dlg.Destroy() + return 'NOK' + #------------------------------------------------------------ count += 1 - self.dlg.Update(count, u"Ecriture des résultats") + self.dlg.Update(count, "Ecriture des résultats") self.tableau.buildprofil() self.clnb = self.tableau.clnb self.parametres['clnb'] = self.clnb @@ -112,25 +120,24 @@ class AnalyseQuest(AnalyseMatrix): self.BuildProfile() temps = time.time() - self.t1 PrintRapport(self, self, {}, istxt = False) - self.tableau.save_tableau(self.pathout['db']) + self.tableau.save_tableau(self.pathout['analyse.db']) #CreateIraFile(self.dictpathout, self.clnb, corpname = os.path.basename(self.parent.filename), section = 'questionnaire') - afc_graph_list = [[os.path.basename(self.pathout['AFC2DL_OUT']), u'Variables actives - coordonnées - facteurs 1 / 2'], - [os.path.basename(self.pathout['AFC2DSL_OUT']), u'variables illustratives - coordonnées - facteurs 1 / 2'], - [os.path.basename(self.pathout['AFC2DCL_OUT']), u'Classes - Coordonnées - facteur 1 / 2'],] - chd_graph_list = [[os.path.basename(self.pathout['dendro1']), u'dendrogramme à partir de chd1']] - chd_graph_list.append([os.path.basename(self.pathout['arbre1']), u'chd1']) + afc_graph_list = [[os.path.basename(self.pathout['AFC2DL_OUT']), 'Variables actives - coordonnées - facteurs 1 / 2'], + [os.path.basename(self.pathout['AFC2DSL_OUT']), 'variables illustratives - coordonnées - facteurs 1 / 2'], + [os.path.basename(self.pathout['AFC2DCL_OUT']), 'Classes - Coordonnées - facteur 1 / 2'],] + chd_graph_list = [[os.path.basename(self.pathout['dendro1']), 'dendrogramme à partir de chd1']] + chd_graph_list.append([os.path.basename(self.pathout['arbre1']), 'chd1']) print_liste(self.pathout['liste_graph_afc'], afc_graph_list) print_liste(self.pathout['liste_graph_chd'], chd_graph_list) - #self.tableau = self.parent.tableau #OpenCHDS(self.parent, self, self.dictpathout['ira'], False) -#------------------------------------------------------------ - print 'fini', time.time() - self.t1 + #------------------------------------------------------------ + print('fini', time.time() - self.t1) count += 1 self.dlg.Update(count, "Fini") - + def BuildProfile(self): - print 'build profile' + print('build profile') txt = '' txt += """ source("%s") @@ -181,7 +188,6 @@ class AnalyseQuest(AnalyseMatrix): afc<-AddCorrelationOk(afc) source("%s") """ % ffr(self.parent.RscriptsPath['Rgraph']) - txt += """ afc <- summary.ca.dm(afc) afc_table <- create_afc_table(afc) @@ -189,14 +195,12 @@ class AnalyseQuest(AnalyseMatrix): write.csv2(afc_table$colonne, file = "%s") write.csv2(afc_table$ligne, file = "%s") """ % (ffr(self.pathout['afc_facteur']), ffr(self.pathout['afc_col']), ffr(self.pathout['afc_row'])) - txt += """ xlab <- paste('facteur 1 - ', round(afc$facteur[1,2],2), sep = '') ylab <- paste('facteur 2 - ', round(afc$facteur[2,2],2), sep = '') xlab <- paste(xlab, ' %', sep = '') ylab <- paste(ylab, ' %', sep = '') """ - txt += """ PARCEX<-%s """ % "0.9"