R : boucle "for" ou "apply"
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

R : boucle "for" ou "apply"



  1. #1
    invitec5eb4b89

    R : boucle "for" ou "apply"


    ------

    Bonjour,

    Je suis utilisateur du logiciel R : CRAN, et j'essaye de me convaincre de l'avantage d'utiliser des fonctions du genre "apply", "sapply" etc. au lieu de boucles for.

    Par exemple :

    Code:
    X <- matrix(rnorm(10*100),10,100)
    moy_ligne <- apply(X,1,mean)
    plutôt que :

    Code:
    moy_ligne2 <- c()
    for (i in 1:10) moy_ligne2[i] <- mean(X[i,])
    J'ai bien cru remarquer que c'était plus rapide ainsi, mais comment m'en convaincre ? Comment également savoir si ça prend plus de place en mémoire de faire une boucle "for" ?

    Merci d'avance pour vos commentaires.
    Cordialement,
    V.

    -----

  2. #2
    invited7a083d7

    Re : R : boucle "for" ou "apply"

    Je ne sais pas en quoi tu programmes mais en Lisp par exemple, la fonctin apply est une fonction récurssive (avec un teste de fin...). Je ne pourrais plus t'expliquer le pourquoi du comment mais une chose est certaine, le principe de la récussivité et bien plus rapide et econome que la fonction "for" qui elle est "analytique" si je peux dire... c'est elle dire qu'elle est toujours en train de vérifier le résultat entrant puis elle le compare avec les conditions... blablabla.

    Bref, oui c'est plus rapide et oui !!! c'est le performant.

  3. #3
    invitec5eb4b89

    Re : R : boucle "for" ou "apply"

    Je ne code pas dans un langage récursif (mais en R), mais on dirait bien qu'il y a des références à des choses récursives dans le code des fonctions de type "apply"...

    Quelqu'un saurait pourquoi ?

Discussions similaires

  1. La science du "Comment?" peut-elle dire "POURQUOI?" au moins une fois?
    Par invite33b26c8f dans le forum Epistémologie et Logique (archives)
    Réponses: 83
    Dernier message: 12/07/2017, 22h12
  2. [Blanc] Déverrouillage du mode "DEMO ON" sur cuisinière "Scholtès CI 36GW"
    Par invitec6cf2f03 dans le forum Dépannage
    Réponses: 0
    Dernier message: 28/02/2007, 12h35
Découvrez nos comparatifs produits sur l'informatique et les technologies.