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 :

Boucle tirage aléatoire


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'étude faune sauvage
    Inscrit en
    février 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Chargé d'étude faune sauvage

    Informations forums :
    Inscription : février 2018
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Boucle tirage aléatoire
    Bonjour à tous,

    Je dispose d'une table (mailles) avec 2 champs:

    ID_nouvelles : correspond à l'identifiant d'un polygone
    ID_anciennes: correspond à l'identifiant d'un polygone.

    Pour chaque ancienne maille (ID_anciennes), elle contient 3 nouvelles mailles (ID_nouvelles).

    Par exemple, pour 3 lignes où l'ID_ancienne est 200, il y a 3 identifiants uniques pour l'ID_nouvelles.

    Je cherche a faire un tirage aléatoire d'une nouvelle maille parmi les 3 disponibles pour une ancienne maille donnée et ce ce pour l'ensemble des anciennes mailles.


    Etant novice sur R, j'ai essayé cette boucle mais elle ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mailles$ID_anciennes<-as.factor(mailles$ID_anciennes)
    mailles$ID_nouvelles<-as.factor(mailles$ID_nouvelles)
     
    for(i in mailles$ID_anciennes) {
     
      sample<-sample(mailles$ID_nouvelles,1)
     
      }
    Pouvez-vous m'aider svp ?

    Merci beaucoup d'avance.

    JB

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chargé d'étude faune sauvage
    Inscrit en
    février 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Chargé d'étude faune sauvage

    Informations forums :
    Inscription : février 2018
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    Voici la solution si cela peut aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    library(plyr)
     
    df<-read.csv(file='S:......')
    df$ID_anciennes<-as.factor(df$ID_anciennes)
     
    test<- ddply(df,'ID_anciennes', function(x){
      res<-sample(x$ID_nouvelles,1)
      return(res)
    })
    names(test)[2]="ID_nouvelles"
    Bonne journée.

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

Discussions similaires

  1. Boucle tirage aléatoire sans remise
    Par Jennn dans le forum Macro
    Réponses: 17
    Dernier message: 12/07/2012, 09h17
  2. Tirage Aléatoire unique ..
    Par FoX_McClouD dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/06/2006, 13h48
  3. tirage aléatoire
    Par uloaccess dans le forum Access
    Réponses: 10
    Dernier message: 22/02/2006, 18h02
  4. Tirage aléatoire dans une base donnée
    Par leloup84 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/01/2006, 16h13
  5. Eviter deux nombres identiques dans un tirage aléatoire
    Par moon tiger dans le forum Pascal
    Réponses: 5
    Dernier message: 25/11/2002, 09h57

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