Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment réparer : le nombre de lignes du résultat n’est pas un multiple de la longueur du vecteur (arg 1)



Un message d’avertissement que vous pouvez rencontrer lors de l’utilisation de R est :

Warning message:
In cbind(A, B, C) :
  number of rows of result is not a multiple of vector length (arg 1)

Cet avertissement se produit généralement lorsque vous essayez d’utiliser la fonction cbind() pour lier des colonnes ensemble des vecteurs de différentes longueurs.

Il convient de noter que ce message est simplement un avertissement et que votre code continuera à s’exécuter, mais les résultats que vous obtiendrez peuvent être différents de ceux auxquels vous vous attendiez.

L’exemple suivant montre comment éviter cet avertissement dans la pratique.

Comment reproduire l’avertissement

Supposons que nous utilisions la fonction cbind() pour lier ensemble trois vecteurs en colonnes dans un bloc de données :

#define three vectors with different lengths
A = c(4, 2, 3, 6)
B = c(9, 1, 8, 7, 0, 7)
C = c(3, 5, 3, 3, 6, 4)

#column bind three vectors into data frame
df <- cbind(A, B, C)

#view data frame
df

Warning message:
In cbind(A, B, C) :
  number of rows of result is not a multiple of vector length (arg 1)
     A B C
[1,] 4 9 3
[2,] 2 1 5
[3,] 3 8 3
[4,] 6 7 3
[5,] 4 0 6
[6,] 2 7 4

La fonction cbind fonctionne avec les trois vecteurs, mais notez que les valeurs du premier vecteur se répètent simplement encore et encore.

C’est ce qu’on appelle le « recyclage » dans R.

Comment éviter l’avertissement

Pour éviter complètement cet avertissement, nous devons nous assurer que la longueur de chacun des vecteurs que nous utilisons est la même.

Une façon d’y parvenir consiste à remplir les valeurs manquantes dans le vecteur le plus court avec les valeurs NA comme suit :

#calculate max length of vectors
max_length <- max(length(A), length(B), length(C))

#set length of each vector equal to max length
length(A) <- max_length                      
length(B) <- max_length
length(C) <- max_length 

#cbind the three vectors together into a data frame
df <- cbind(A, B, C)

#view data frame
df

      A B C
[1,]  4 9 3
[2,]  2 1 5
[3,]  3 8 3
[4,]  6 7 3
[5,] NA 0 6
[6,] NA 7 4

Notez que nous ne recevons aucun message d’avertissement cette fois et que les valeurs du vecteur court sont simplement remplies avec des valeurs NA pour garantir que chacun des trois vecteurs que nous avons utilisés ont des longueurs égales.

Ressources additionnelles

Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :

Comment réparer dans R : les arguments impliquent un nombre de lignes différent
Comment réparer dans R : erreur dans la sélection des arguments inutilisés
Comment réparer dans R : le remplacement a une longueur nulle

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *