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 :

Fonction sample sur matrice


Sujet :

R

  1. #1
    Membre du Club
    Femme Profil pro
    Doctorant
    Inscrit en
    Mai 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 76
    Points : 57
    Points
    57
    Par défaut Fonction sample sur matrice
    Bonjour
    Je souhaiterai prendre des échantillons via la commande sample issu d'une matrice

    Pour mieux me faire comprendre un exemple j'ai 2 vecteurs de même taille qui sont stockés dans une matrice de 2 lignes et 6 colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    V1:  2  4  7  9  6  6  
    V2:  1  3  5  7  9  5
    Je souhaiterai prendre aléatoirement 3 échantillons du vecteur V1 (sans avoir la commande replace = TRUE)
    Et avoir les valeurs associées du vecteur V2.
    Imaginons il me tire les valeurs 2 7 et 9 de V1, aléatoirement.
    J'aimerai qu'il me sorte donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    V1:  2  7  9   
    V2:  1  5  7
    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Points : 793
    Points
    793
    Par défaut
    Si je comprends bien, ce que tu cherches c'est de choisir aléatoirement des colonnes de ta matrice. Si c'est cela, le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mat.resultat <- mat.initiale[,sample.int( nrow( mat.initiale), size=nombre.de.colonnes.a.conserver)]

  3. #3
    Membre du Club
    Femme Profil pro
    Doctorant
    Inscrit en
    Mai 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 76
    Points : 57
    Points
    57
    Par défaut
    Juste une petite erreur c'est : sample.int( ncol( mat.initiale) et non nrow

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mat.initiale <- matrix(data = c(2,1,4,3,7,5,9,7,6,9,6,5), nrow = 2)
     
    mat.resultat <- mat.initiale[,sample.int( ncol( mat.initiale), size=3)]
    De plus je souhaiterai mettre dans une seconde matrice le reste de la matrice initiale
    En faite je souhaiterai avoir un échantillon pour calibrer mes données et l'autre pour valider.
    J'aimerai donc à la fin avoir 2 matrices distincts

  4. #4
    Membre éclairé
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Points : 793
    Points
    793
    Par défaut
    Au temps pour moi, c'est bien ncol.

    Pour obtenir les deux matrices, la modification du code est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a.garder <- sample.int( ncol( mat), size=nb.colonnes.a.garder)
    mat.1 <- mat.initiale[,a.garder]
    mat.2 <- mat.initiale[,-a.garder]
    puisque l'indexation par position négative (numéros précédés du signe 'moins') signifie "à supprimer"

  5. #5
    Membre du Club
    Femme Profil pro
    Doctorant
    Inscrit en
    Mai 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 76
    Points : 57
    Points
    57
    Par défaut
    C'est parfait. Merci beaucoup

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

Discussions similaires

  1. Fonction Find sur chaque ligne d'une matrice creuse
    Par Mathieu999 dans le forum MATLAB
    Réponses: 13
    Dernier message: 11/02/2011, 14h04
  2. Fonctions simples sur les matrices
    Par anissa01 dans le forum Octave
    Réponses: 0
    Dernier message: 15/06/2010, 16h34
  3. Utilisation fonction imshow sur une partie d'une matrice
    Par bertrand42300 dans le forum Images
    Réponses: 2
    Dernier message: 25/04/2009, 11h30
  4. [Débutant] Fonction sur matrices
    Par scraven dans le forum MATLAB
    Réponses: 4
    Dernier message: 27/04/2007, 09h03
  5. pb avec la fonction boolean sur eclipse
    Par mcay dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/05/2004, 09h37

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