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 :

génération séquences aléatoires


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 16
    Points
    16
    Par défaut génération séquences aléatoires
    Bonjour,

    Je cherche actuellement à créer 10000 séquences aléatoires de tailles différentes et comprenant seulement des chiffres allant de 0 à 8. Par la suite, j'aimerais que celles-ci soit disposées dans une matrice. Pour ce faire, j'utilise ce code-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    B=matrix(nrow=1,ncol = 100)
     
    for(loop in 1:10){
     
      for (i in round(runif(1,min=1,max=100)))
     
    {
        A = round(runif(i,min=0,max=8))
        B=rbind(B,A)
     
    }
     
    }
    Je pensais que les lignes n'étant pas de la même longueur, il générerait des NA dans les cases vides, mais à ma grande surprise il duplique la séquence pour remplir les trous. Est-ce que quelqu'un aurait une astuce pour éviter cela. Merci d'avance pour vos réponses.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Bonjour,

    Il vaut mieux remplir toute la matrice direct et décider ensuite aléatoirement du nombre de colonnes à garder sur chaque séquence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #pour une matrice de dix sequences de tailles et valeurs aleatoires:
    n<-10
    B=matrix(data=round(runif(n*100,0,8)),nrow=n,ncol = 100)
    size<-round(runif(n,1,100))
    sapply(1:n,function(x){B[x,size[x]:100]<<-NA;size[x]})
    B

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour votre réponse c'est exactement ça. Merci encore.

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

Discussions similaires

  1. [Math / Random] Génération nombre aléatoire compris entre deux bornes
    Par oligig dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 30/06/2013, 17h23
  2. Génération nombre aléatoire
    Par pixel016 dans le forum WinDev
    Réponses: 12
    Dernier message: 15/01/2011, 15h41
  3. Fonction rand() : séquence aléatoire trop courte ?
    Par sikin1989 dans le forum Débuter
    Réponses: 16
    Dernier message: 05/12/2010, 20h16
  4. Problème génération nombre aléatoires
    Par Pim'Ouss dans le forum Général Java
    Réponses: 3
    Dernier message: 15/10/2010, 12h25
  5. Génération texte aléatoire
    Par MrEddy dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2006, 11h47

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