Je me retrouve face à un problème avec une boucle for.
Je vous explique grossièrement mon jeu de données (mais je ne pense pas qu'il soit nécessaire à la résolution de mon problème)
J'ai un tableau (que j'appelle tab) qui possède en l’occurrence 12 colonnes avec un nombre variable de lignes. Les colonnes plus courtes que les autres sont complétées par des NA, la colonne la plus longue a 135 lignes (donc on peut dire que mon tableau a 135 lignes quoi).
Je souhaite obtenir dans un nouveau tableau (tab.final) une colonne avec la moyenne de chaque ligne pour les colonnes 1 à 8 et une autre avec les colonnes 9 à 12.
Mon tab.final devrait donc avec 135 lignes et 2 colonnes. Mais j'obtiens ceci :
Code : Tout sélectionner
> for(i in 1:135) {
+ tab.final <- cbind ( rbind(mean(tab[i,1:8],na.rm=TRUE)), #moyenne avant
+ rbind(mean(tab[i,9:12],na.rm=TRUE))) #moyenne apres
+ }
> tab.final
[,1] [,2]
[1,] 7.079 NaN
J'ai essayé la fonction rowMeans mais sans succès, j'obtiens un tableau à 1 ligne et 270 colonnes .... :/
Code : Tout sélectionner
> tab.final <- cbind ( rbind(rowMeans(tab[,1:8],na.rm=TRUE)), #moyenne avant
+ rbind(rowMeans(tab[,9:12],na.rm=TRUE))) #moyenne apres
Quelqu'un voit-il le problème dans mon code ? Si vous avez besoin de données n'hésitez pas mais je ne pensais pas nécessaire de charger ce post avec mes données.
Merci d'avance
Jennifer