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

SAS STAT Discussion :

Loi uniforme


Sujet :

SAS STAT

  1. #1
    Nouveau Candidat au Club
    Loi uniforme
    Bonjour ,
    je n'arrive a trouvé le code dans SAS pour faire :
    Créer sous forme d’un vecteur X, un 20-échantillon i.i.d (X ! , ... , X !" ) de loi
    uniforme sur l’intervalle −5,5 ?
    merci de votre aide

  2. #2
    Expert confirmé
    Bonjour.
    Dans SAS on ne peut pas vraiment créer de "vecteur" (au sens R, un objet isolé) : soit c'est une table SAS avec une colonne X qui contient les valeurs, soit c'est une macro-variable (un objet isolé, mais de type texte avec une valeur unique) qui contient les 20 valeurs à la suite les unes des autres.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DATA work.uniforme ;
      DO i=1 TO 20 ;
        x = RANUNI(1)*10 - 5 ; /* RANUNI = loi uniforme sur [0;1] ; (1) est la graine du générateur aléatoire */
        OUTPUT ; /* on écrit dans la table en sortie */
      END ;
      DROP i ;
    RUN ;

    Pour créer la macro-variable on peut enchaîner au code précédent
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PROC SQL NOPRINT ;
      SELECT x INTO : listeX SEPARATED BY " " /* on peut utiliser d'autres séparateurs si besoin */
      FROM work.uniforme ;
    QUIT ;
    Bon courage.
    Olivier

###raw>template_hook.ano_emploi###