En fait j'ai pas mal de questions mais toute tourne autour de mon problème principal:
Existe t-il une fonction qui permet d'extraire un tableau d'un autre selon des critère logique?
Je veux ,avec un tableau dont la première colonne ordonnée, pouvoir extraire toutes lignes où les variables de la première colonne sont identiques. Puis mettre cet extrait dans de nouvelles variables.
Je suis débutante sous R et en "programmation" :? . J'ai essayer de créer une suite d'ordre pour faire ça mais ça ne marche pas. Il y'a plusieurs problèmes.
Pour tester le programme j'avais utilisé l'objet z et la liste d'ordre qui suit:
Code : Tout sélectionner
z=cbind(rep(c("a","b","c","d"),rep(3,4)),c(1:3,3,3:2,2:3,1:3,2))
d=1
b=1
i=0
gp=as.list(c(1:10))
c= length(z[,1])
while (b <c)
{while (z[b,1]==z[b+1,1])
{a=d
b=b+1}
Var= z[a:b,]
b=b+1
d=b+1
i=i+1
gp[[i]]= Var}
La syntaxe d'erreur retourné est :
Erreur : indice hors limites
Je pense que le 1er problème vient de l'instruction while (z[b,1]==z[b+1,1]
Quand la taille de b=c, il ne peux plus effectuer l'instruction qui est hors limite.
Mon 2ème problème est qu'il manque une ligne de valeur à chaque tableau extrait.
Je pense que ces erreurs viennent de mon incrémentation de b et d mais je ne sait pas comment m'en sortir.
Auriez vous quelques conseils concernant la "programmation"?
Sauriez vous si une tel fonction n'existe pas déjà?
En vous remerciant par avance!