décomposition d'une matrice en arrays

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Bernard Vallageas
Messages : 10
Enregistré le : 19 Juil 2018, 07:01

décomposition d'une matrice en arrays

Messagepar Bernard Vallageas » 11 Mai 2019, 17:28

je travaille sur une matrice numérique de 2 464 lignes et 220 colonnes soit 542 080 éléments . Je construis un array A à partir de cette matrice de dimensions 56,44,5 et 44, ce qui donc me donne 220 matrices de 56 lignes et 44 colonnes. Pour voir comment ça fonctionne j'ai fait un essai en taille réduite avec une matrice de 12 lignes et 15 colonnes soit 180 éléments et un array Ar de dimensions 4,3,5 et 3, ce qui me donne 15 matrices de 4 lignes et 3 colonnes. Si je considère Ar[1,1,1,1] j'obtiens un nombre, à savoir l'élément de la matrice 1,1 de la 1re ligne et de la 1re colonne.
De même Ar[2,3,4,2] me donne le nombre de la matrice 4,2 situé sur la 2e ligne et la 3e colonne.
Je devrais avoir des résultats comparables avec ma grande matrice. Or A[1,1,1,1] ou A[42,12,3,20] me donnent des vecteurs de 2 464 éléments (56x44 = 2464) et non pas un nombre.
Quelqu'un a-t-il une explication? Merci

Bernard Vallageas
Messages : 10
Enregistré le : 19 Juil 2018, 07:01

Re: décomposition d'une matrice en arrays

Messagepar Bernard Vallageas » 11 Mai 2019, 21:25

Bonsoir à tous
J'ai résolu mon problème ma grande matrice de 2464 sur 220 copiée sur internet n'était pas en fait une matrice mais une data.frame, j'ai fait as.matrix et ça a résolu le problème. Le plus étonnant est que la fonction array() marchait sur cette data.frame, mais elle donnait des résultats aberrants.

Excusez-moi pour le dérangement

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: décomposition d'une matrice en arrays

Messagepar Mickael Canouil » 14 Mai 2019, 09:02

Bonjour,

une matrice est de dimension 2, un data.frame est de dimension 1.
En effet, un data.frame est une liste dont les éléments sont de même dimensions, ce n'est pas une matrice à proprement parler.
array() à potentiellement u nombre illimité de dimension en commençant par 1, d'où le fonctionnement sur un data.frame.

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité