IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Combinaisons de vecteurs


Sujet :

R

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut Combinaisons de vecteurs
    Bonjour,
    Je cherche à créer une fonction qui permettrait de combiner les valeurs de différents vecteurs.
    Exemple 1 : Les vecteurs V1=1 et V2=c(1,2), donneraient V3=1-1 et 1-2
    Exemple 2 : Les vecteurs V1=c(4,1) et V2=c(1:3) donneraient V3=4-1, 4-2, 4-3, 1-1, 1-2, 1-3
    Exemple 3 : Les vecteurs V1=1:2, V2=1:3, V3=1, V4=c(8,9) donneraient V5=1-1-1-8, 1-1-1-9, 1-2-1-8, 1-2-1-9, 1-3-1-8, 1-3-1-9, 2-1-1-8, 2-1-1-9, 2-2-1-8, 2-2-1-9, 2-3-1-8, 2-3-1-9.
    Quelqu'un a-t-il une idée ?
    A moins que cette fonction existe quelque part ?

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour , une solution avec en particulier la fonction expand.grid

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    (V1=1:2)
    (V2=1:3)
    (V3=1)
    (V4=c(8,9))
     
    (V5=c(V5=1-1-1-8, 1-1-1-9, 1-2-1-8, 1-2-1-9, 1-3-1-8, 1-3-1-9, 2-1-1-8, 2-1-1-9, 2-2-1-8, 2-2-1-9, 2-3-1-8, 2-3-1-9))
     
     
     
     
    soustraire <- function(...){
      Reduce(`-`,...)
    }
     
     
    combiner <- function(...){
      apply(expand.grid(...),1,soustraire)
    }
     
     
    V6=combiner(V1,V2,V3,V4)
    setequal(V5,V6)

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Citation Envoyé par xavier-Pierre Voir le message
    bonjour , une solution avec en particulier la fonction expand.grid
    Ah oui. C'est exactement ce que je cherchais.
    Top. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 30
    Dernier message: 11/04/2018, 04h13
  2. Réponses: 1
    Dernier message: 02/03/2017, 15h00
  3. [Débutant] Combinaison vecteurs en matrice
    Par founders dans le forum MATLAB
    Réponses: 13
    Dernier message: 06/05/2016, 00h30
  4. Les combinaisons d'un vecteur
    Par adlenro dans le forum Mathématiques
    Réponses: 3
    Dernier message: 20/01/2014, 16h54
  5. combinaisons à partir d'un vecteur
    Par yasinfo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 19/08/2008, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo