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 :

Fusionner des matrices de tailles différentes


Sujet :

R

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Fusionner des matrices de tailles différentes
    Bonjour,

    Je souhaiterais fusionner des matrices présentant un nombre de lignes différent. Les noms des lignes correspondent à des nombres non entiers dans un ordre croissant, sous forme de chaînes de caractères, et diffèrents entre 2 matrices. Concrètement ça ressemble à ça :

    --------------- C10 -- C11 - C12 -- C9 - D10 ...
    1926.975 -- 1500 1500 1600 1500 1470
    1927.11 ---- 1500 1500 1600 1500 1470
    1927.244 -- 1500 1500 1600 1500 1470
    1927.378 -- 1500 1500 1600 1500 1470
    1927.512 -- 1500 1500 1600 1500 1470
    ...

    Les matrices présentent un nombre de lignes différent dont les noms/valeurs sont piochés dans un même intervalle (ici entre 2.000 et 20.000 en gros) mais ne sont pas communs, et n'ont pas le même écartement que ce soit d'une matrice à l'autre ou dans une même matrice.

    Je ne sais pas si mon problème est clair...

    En gros, je voudrais pouvoir réaliser une sorte d'interpolation pour ramener toutes mes données sur une même série d'abscisses. J'ai trouvé la fonction interpol.matrix qui se rapproche un peu de ce que je souhaite faire, mais elle suppose que nos points aient le même écartement...

    Bref, un petit coup de main serait le bienvenu (merci de me préciser si mes explications ne sont pas claires...)

    Merci d'avance

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Désolée de vous dire ça mais personnellement je n'ai pas bien compris ce que vous souhaitez faire...

    Vous serait-il possible de donner un petit exemple "basique" avec deux matrices initiales et une matrice d'arrivée telle que vous la souhaiteriez?

    Sinon peut-être que quelqu'un d'autre comprendra mieux que moi...
    Bonne continuation malgré tout


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Voilà deux exemples de matrices :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    > matrix1
                s1B.A5 s9B.A9
    1926.975      1530   1560
    1927.11       1530   1560
    1927.244      1540   1560
    ...
    20136.421     1400   1290
    20136.857     1330   1190
     
    > dim(matrix1)
    [1] 65000     2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    > matrix2
                   s7U.D19 s7U.D20
    2000.019       3018    3018
    2000.156       3022    3022
    2000.293       3018    3018
    ...
    19999.431      1090   1250
    19999.766      1020   1130
     
    > dim(matrix2)
    [1] 63330     2
    À l'arrivée je souhaiterais avoir une seule matrice (avec nrow = 63330 ou 65000, peu importe) et du coup des noms de lignes correspondants.

    Je me suis penchée sur la librarie "spline" et notamment les fonctions "interpSpline" et "splineDesign" afin de réaliser une interpolation... Mais étant donné le volume de mes données cela ne semble pas fonctionner.

Discussions similaires

  1. normalisation des matrices en taille
    Par kawther dans le forum Images
    Réponses: 2
    Dernier message: 30/10/2009, 09h09
  2. gridBagLayout avec des lignes de taille différentes
    Par zuzuu dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 20/06/2008, 14h16
  3. Réponses: 2
    Dernier message: 05/02/2008, 11h47
  4. Réponses: 4
    Dernier message: 05/05/2007, 19h12
  5. Alignement d'un texte sur des écrans de taille différent
    Par Kuchiki Byakuya dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 05/02/2007, 19h07

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