"noms" de l'attribut doit être de la même longueur que le vecteur
4 réponses
dans l'esprit de @Chris W, essayez juste de répliquer l'erreur exacte que vous obtenez. Un exemple aurait pu aider, mais peut-être que vous le faites:
x <- c(1,2)
y <- c("a","b","c")
names(x) <- y
Error in names(x) <- y :
'names' attribute [3] must be the same length as the vector [2]
je soupçonne que vous essayez de donner des noms à un vecteur ( x
) qui est plus court que votre vecteur de noms ( y
).
selon ce que vous faites dans la boucle, le fait que l'opérateur %in%
renvoie un vecteur pourrait être un problème; prenons un exemple simple:
c1 <- c("one","two","three","more","more")
c2 <- c("seven","five","three")
if(c1%in%c2) {
print("hello")
}
l'avertissement suivant est alors émis:
Warning message:
In if (c1 %in% c2) { :
the condition has length > 1 and only the first element will be used
si quelque chose dans votre instruction if dépend d'un nombre spécifique d'éléments, et qu'ils ne correspondent pas, alors il est possible d'obtenir l'erreur que vous voyez
j'ai vu cette erreur et je l'ai résolu. Vous pouvez avoir des valeurs manquantes dans votre jeu de données. Nombre d'observations dans chaque colonne doit également être le même.
l'erreur que j'ai faite qui a forcé cette erreur était d'essayer de renommer une colonne dans une boucle que je ne sélectionnais plus dans mon SQL. Cela pourrait également être causé en essayant de faire la même chose dans une colonne que vous étiez planification à sélectionner. Assurez-vous que la colonne que vous essayez de changer existe réellement.