Bonjour tous le monde, j'ai un fichier csv (exemple en bas), et je veux faire un regroupement de modalités pour les Variables "DAT_1, DAT_2", à chaque fois que le nombre d'individus est inférieure à 3 individus par date par classe, faire un regroupement avec la date suivante de manière à avoir une période "20160701q-20160901q" par exemple, et cela pour chaque date par classe. Si un regroupement est fait et on obtient une période avec plus de 3 individus, et la date suivant a moins de 3 individus, on regroupe cette date avec la période déjà regroupé de manière à avoir dans la période "première date du regroupement-dernière date du regroupement".
Classe Variables Terms Number
1 DAT_1 20160701q 5
1 DAT_1 20160802q 2
1 DAT_1 20160901q 1
1 DAT_2 20161001q 1
1 DAT_2 20161201q 2
1 DAT_2 20170301q 3
2 DAT_1 20161001q 1
2 DAT_1 20161201q 2
2 DAT_1 20170301q 1
en résumé, je veux arriver à avoir un tableau de ce genre :
Classe Variables Terms Number
1 DAT_1 20160701q 5
1 DAT_1 20160802q-20160901q 3
1 DAT_2 20161001q-20161201q 3
1 DAT_2 20170301q 3
2 DAT_1 20161001q-20170301q 4
j'ai commencé avec ce code
for (n in df2$CLASSE){
for (k in df2$Variables){
for (i in 1:nrow(df2)){
if (df2$Number[i]<3){
rempl_date=paste(df2$Terms[i],df2$Terms[i+1], sep="-")
df2$Terms[i]<-rempl_date
next
}
}
}
}
Mais il me donne pas les résultats que je cherche, J'espère que j'était très claire et je reste à votre disposition pour plus de détails.
merci d'avance de votre aide.