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 :

remplir le triangle inférieur d'une matrice par ligne


Sujet :

R

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Par défaut remplir le triangle inférieur d'une matrice par ligne
    Bonjour à tous!

    J'ai un soucis avec mon script je pense ça ne doit pas être bien compliqué.
    Je veux remplir le triangle inférieur d'une matrice (sans compter la diagonale) avec un vecteur x comme ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    mat=matrix(nrow=4,ncol=4)
    x=seq(1,6)
    mat[lower.tri(mat, diag=F)]<-x
     
    #mat
    #     [,1] [,2] [,3] [,4]
    #[1,]   NA   NA   NA   NA
    #[2,]    1   NA   NA   NA
    #[3,]    2    4   NA   NA
    #[4,]    3    5    6   NA
    Le problème c'est que le remplissage se fait par colonne alors que je voudrais que ça se fasse par ligne comme ci dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #mat
    #     [,1] [,2] [,3] [,4]
    #[1,]   NA   NA   NA   NA
    #[2,]    1   NA   NA   NA
    #[3,]    2    3   NA   NA
    #[4,]    4    5    6   NA
    J'ai tenté de caler l'argument byrow=T mais ça ne marche pas.
    Quelqu'un aurait une idée ?

    Merci!

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2012
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 292
    Par défaut
    Bonjour,

    Petite astuce avec la transposée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mat=matrix(nrow=4,ncol=4)
    x=seq(1,6)
    mat[upper.tri(mat, diag=F)]<-x
    mat=t(mat)
    
    
    > mat
         [,1] [,2] [,3] [,4]
    [1,]   NA   NA   NA   NA
    [2,]    1   NA   NA   NA
    [3,]    2    3   NA   NA
    [4,]    4    5    6   NA

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

Discussions similaires

  1. remplir une matrice par des valeurs
    Par ursulinatm dans le forum R
    Réponses: 1
    Dernier message: 25/05/2012, 12h43
  2. Réponses: 26
    Dernier message: 20/06/2010, 18h24
  3. Réponses: 2
    Dernier message: 11/08/2009, 13h48
  4. Réponses: 1
    Dernier message: 05/04/2009, 12h29
  5. Réponses: 1
    Dernier message: 19/03/2009, 14h44

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