probleme de boucle

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

lounis timgad
Messages : 6
Enregistré le : 09 Oct 2018, 14:02

probleme de boucle

Messagepar lounis timgad » 26 Nov 2018, 15:21

bonjour
j'ai un problème je n'arrive pas a faire tournée ma boucle

if (nrow(dataraw>0)){
svytotal(~freq_annuelle_cru,designtfreqt)
svyboxplot(freq_annuelle_cru~1,designtfreqt,all.outliers=TRUE,main="boxplot raw")
svyhist(~freq_annuelle_cru,designtfreqt,main="distribution raw during year",col="grey80",xlab="value")
mincru<-min(database$freq_annuelle_cru,na.rm = T)
maxcru<-max(database$freq_annuelle_cru,na.rm = T)
moycru<-round(svymean(~freq_annuelle_cru,designtfreqt, na.rm = T),2)
PQcru<-round(svyquantile(~freq_annuelle_cru, designtfreqt, c(0.025, 0.50,0.95, 0.975, 0.99), na.rm = T),2)
confmeancru<-confint(svymean(~freq_annuelle_cru,designtfreqt,level=0.95,na.rm = T))
vvcru<-data.frame(moycru[1],PQcru[1],PQcru[2],PQcru[3],PQcru[4],PQcru[5],mincru,maxcru,Nrtot, row.names=NULL)
colnames(vvcru)<-c("mean","P2.5","median","P95","P97.5","P99","min","max","N")
cat("total_number_of_rawconsumption_during year","\n")
print(knitr::kable(round(vvcru,2)))
}
le message d'erreur et le suivant
Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, :
length of 'dimnames' [2] not equal to array extent

on essayant d'exécuter ma boucle ligne par ligne le message d'erreur apparaît dans
svyhist(~freq_annuelle_cru,designtfreqt,main="distribution raw during year",col="grey80",xlab="value")
le message d'erreur est
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: probleme de boucle

Messagepar Pierre-Yves Berrard » 26 Nov 2018, 15:34

Bonjour,

Pour commencer, il y a parenthèse mal placée :

Code : Tout sélectionner

if (nrow(dataraw>0))

Il faudrait écrire

Code : Tout sélectionner

if (nrow(dataraw)>0)

Je ne sais pas si c'est la cause du problème évoqué plus bas, en revanche.
PY

lounis timgad
Messages : 6
Enregistré le : 09 Oct 2018, 14:02

Re: probleme de boucle

Messagepar lounis timgad » 26 Nov 2018, 16:10

merci pour la réponse
ca bloque encore un peu plus bas
je vais revoir ma fonction
je vous tien au courant


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité