Lösung: die anzahl der zeilen im ergebnis ist kein vielfaches der vektorlänge (argument 1).
Eine Warnmeldung, die bei der Verwendung von R auftreten kann, ist:
Warning message: In cbind(A, B, C): number of rows of result is not a multiple of vector length (arg 1)
Diese Warnung tritt normalerweise auf, wenn Sie versuchen, die Funktion cbind() zu verwenden, um Spalten von Vektoren unterschiedlicher Länge miteinander zu verbinden.
Beachten Sie, dass es sich bei dieser Meldung lediglich um eine Warnung handelt und Ihr Code weiterhin ausgeführt wird, die Ergebnisse, die Sie erhalten, jedoch möglicherweise anders ausfallen als erwartet.
Das folgende Beispiel zeigt, wie Sie diese Warnung in der Praxis vermeiden können.
So reproduzieren Sie die Warnung
Angenommen, wir verwenden die Funktion cbind() , um drei Vektoren in Spalten in einem Datenrahmen zusammenzubinden:
#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)
ABC
[1,] 4 9 3
[2,] 2 1 5
[3,] 3 8 3
[4,] 6 7 3
[5,] 4 0 6
[6,] 2 7 4
Die cbind- Funktion funktioniert mit allen drei Vektoren, beachten Sie jedoch, dass sich die Werte des ersten Vektors einfach immer wieder wiederholen.
Dies wird in R als „Recycling“ bezeichnet.
So vermeiden Sie die Warnung
Um diese Warnung vollständig zu vermeiden, müssen wir sicherstellen, dass die Länge aller von uns verwendeten Vektoren gleich ist.
Eine Möglichkeit, dies zu erreichen, besteht darin, die fehlenden Werte im kürzesten Vektor wie folgt mit NA-Werten aufzufüllen:
#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
ABC
[1,] 4 9 3
[2,] 2 1 5
[3,] 3 8 3
[4,] 6 7 3
[5,] NA 0 6
[6,] NA 7 4
Beachten Sie, dass wir dieses Mal keine Warnmeldungen erhalten und die kurzen Vektorwerte einfach mit NA-Werten aufgefüllt werden, um sicherzustellen, dass jeder der drei von uns verwendeten Vektoren die gleiche Länge hat.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:
So beheben Sie das Problem in R: Argumente umfassen eine unterschiedliche Anzahl von Zeilen
So beheben Sie in R: Fehler bei der Auswahl nicht verwendeter Argumente
So reparieren Sie in R: Der Ersatz hat die Länge Null