Mon titre n'est pas très claire, et j'espère qu'en illustrant ce que je veux faire, vous allez comprendre.
J'effectue des tries simples sur un ensemble de plusieurs variables (effectif et %). Sachant que je dois refaire ce travail avec les données définitives, je cherche une façon d'exporter les tableaux sur Excel.
Dans un premier temps je procède comme suit:
Code : Tout sélectionner
an1F <- table(pannee1, useNA="always")
an1P <- signif((prop.table(an1F) )*100,4)
sexeF <-table(psexe, useNA="always")
sexeP <- (prop.table(sexeF) )*100
Cela me permet d'avoir les effectifs d'une part et d'autre part les pourcentages.
Dans un deuxième temps je crée une liste avec deux objets (fréquence par année et par sexe et leurs pourcentages:
Code : Tout sélectionner
freqs = list(cbind(an1F,an1P), cbind(sexeF, sexeP))
Sachant que le nombre de ligne n'est pas le même entre les deux objets, je ne peux qu'avoir un vecteur et non un data.frame ou une matrice pour directement exporter mes objets sous Excel.
Enfin j'utilise la fonction write.csv2 pour exporter les objets.
Code : Tout sélectionner
write.csv2(freqs,file="resultats.csv",row.names=TRUE, append=TRUE)
Cela ne fonctionne pas pour la raison que j'ai évoqué en haut. Les nombres de lignes sont différentes.
Cependant cela fonctionne quand je précise l'indice de l'objet:
Code : Tout sélectionner
write.csv2(freqs[[2]],file="resultats.csv",row.names=TRUE, append=TRUE)
Ici l'indice est 2.
Ma question est de savoir comme faire une fonction qui lancerait autant de fois qu'il existe d'objet en remplacement l'indice de l'objet par i avec i allant de 1 à n.
Par avance, je vous remercie.