Ajouter une ligne à un tableau

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

jean-charles delarue
Messages : 32
Enregistré le : 04 Avr 2008, 09:05

Ajouter une ligne à un tableau

Messagepar jean-charles delarue » 18 Mar 2009, 11:01

Bonjour,

Je fais une boucle sur un calcul de normalité de variables, me donnant ceci :

Code : Tout sélectionner

Resultat <- shapiro.test(d[m:n,i])

ce qui me donne ceci

Code : Tout sélectionner

logLc MW ALogP ...
0.98 0.63  0.75 ...


(m, n et i sont incrémentés à chaque boucle)

Ce que je voudrais c'est entrer la totalité de mon vecteur Resultat dans un tableau récapitulatif (Res) pour chaque valeur de m et n prise :

Code : Tout sélectionner

boucle logLc   MW   ALogP ...
1        0.98 0.63  0.75 ...
2        0.73 0.85  0.54 ...
3        0.56 0.75  0.32 ...
...


J'ai essayé la fonction merge mais ça ne fonctionne pas, ça ne doit pas être la bonne fonction...

Merci d'avance pour votre aide.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 18 Mar 2009, 12:52

Bonjour,

avec une boucle :

Code : Tout sélectionner

# si tu connais le nombre de boucle
res <- matrix(numeric(),nl,nr) # nl le nombre de boucles, nr le nombre de résultats
for (i in 1:nl){
  m <- ...
  n <- ... 
Resultat <- ...
res[i,] <- c(i,Resultat)
  }
# une autre façon de faire :
res <- NULL
for (i in 1:nl){
  m <- ...
  n <- ... 
  Resultat <- ...
  res <- rbind(res,c(i,Resultat))
  }


Si tu m et n ne change pas d'une boucle a l'autre tu dois pouvoir utiliser un apply.

Maxime

jean-charles delarue
Messages : 32
Enregistré le : 04 Avr 2008, 09:05

Messagepar jean-charles delarue » 18 Mar 2009, 13:05

J'ai pris la deuxième solution ça me parraissait bien plus simple à intégrer dans mon script... Tout simplement un rbind, ça parai tellement évident que limite j'en ai honte... :oops:

En tout cas merci!
Jean-Charles Delarue

jean-charles delarue
Messages : 32
Enregistré le : 04 Avr 2008, 09:05

Messagepar jean-charles delarue » 26 Mar 2009, 10:01

Bonjour,

Je reviens sur ce problème. je voudrais faire exactement pareil sauf que je n'ai pas le même nombre de variables, cependant elles ont excatement le même nombre. Exemple :

Code : Tout sélectionner

> Res[1,]
                      MW              LogP      Homo
coefficients -0.01777698 0.5860605 0.2227966

> t
                  MW       LogP       Homo    Lumo
coefficients -0.03405933 0.451364 -0.3104781 1.42208


Et je voudrais ceci :

Code : Tout sélectionner

Res$

                    MW     LogP       Homo    Lumo
coefficients -0.01777698 0.5860605 0.2227966
coefficients -0.03405933 0.451364  -0.3104781 1.42208
coefficients -0.02586473           0.3657921


Le nom des lignes n'est pas important, et qu'il y'ait un blanc ou un NA est peu important également...

Merci d'avance!
Jean-Charles Delarue


Retourner vers « Questions en cours »

Qui est en ligne

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