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 dans R : nombre incorrect d’indices sur la matrice



Une erreur que vous pouvez rencontrer dans R est :

Error in x[i, ] <- 0 : incorrect number of subscripts on matrix

Cette erreur se produit lorsque vous tentez d’attribuer une valeur à une position dans un vecteur, mais que vous incluez accidentellement une virgule comme si vous attribuiez une valeur à une position de ligne et de colonne dans une matrice.

Ce didacticiel explique exactement comment corriger cette erreur.

Exemple 1 : Correction d’une erreur pour une valeur unique

Supposons que nous ayons le vecteur suivant dans R avec 5 valeurs :

#define vector
x <- c(4, 6, 7, 7, 15)

Supposons maintenant que nous essayions d’attribuer la valeur « 22 » au troisième élément du vecteur :

#attempt to assign the value '22' to element in third position
x[3, ] <- 22

Error in x[3, ] <- 22 : incorrect number of subscripts on matrix

Nous recevons une erreur car nous avons inclus une virgule lors de la tentative d’attribution de la nouvelle valeur.

Au lieu de cela, nous devons simplement supprimer la virgule :

assign the value '22' to element in third position
x[3] <- 22

#display updated vector
x

[1]  4  6 22  7 15

Exemple 2 : corriger une erreur dans une boucle for

Cette erreur peut également se produire lorsque l’on tente de remplacer plusieurs valeurs dans un vecteur à l’aide d’une boucle ‘for’.

Par exemple, le code suivant tente de remplacer chaque valeur d’un vecteur par un zéro :

#define vector
x <- c(4, 6, 7, 7, 15)

#attempt to replace every value in vector with zero
for(i in 1:length(x)) {
    x[i, ]=0
  }

Error in x[i, ] = 0 : incorrect number of subscripts on matrix

Nous recevons une erreur car nous avons inclus une virgule lors de la tentative d’attribution des zéros.

Au lieu de cela, nous devons simplement supprimer la virgule :

#define vector
x <- c(4, 6, 7, 7, 15)

#replace every value in vector with zero
for(i in 1:length(x)) {
    x[i]=0
  }

#view updated vector
x

[1] 0 0 0 0 0

Une fois la virgule supprimée, le code s’exécute sans erreur.

Ressources additionnelles

Comment réparer dans R : les NA introduits par la coercition
Comment réparer dans R : indice hors limites
Comment corriger l’erreur dans R : nombre de dimensions incorrect

Ajouter un commentaire

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