A: wie man cbind mit vektoren unterschiedlicher länge verwendet


Der einfachste Weg, cbind in R mit Vektoren unterschiedlicher Länge zu verwenden, besteht darin, die Vektoren mithilfe der Funktion length() auf gleiche Längen zu setzen.

Das folgende Beispiel zeigt, wie das geht.

Beispiel: Verwendung von cbind mit Vektoren unterschiedlicher Länge in R

Angenommen, wir verwenden cbind , um zwei Vektoren unterschiedlicher Länge in R zusammenzubinden:

 #define two vectors
vec1 <- c(3, 4, 5)
vec2 <- c(1, 6, 4, 4, 7, 6, 9, 8, 7)

#cbind the two vectors together
cbind(vec1, vec2)

      vec1 vec2
 [1,] 3 1
 [2,] 4 6
 [3,] 5 4
 [4,] 3 4
 [5,] 4 7
 [6,] 5 6
 [7,] 3 9
 [8,] 4 8
 [9,] 5 7

Die cbind- Funktion funktioniert mit beiden Vektoren, beachten Sie jedoch, dass sich die Werte des ersten Vektors einfach immer wieder wiederholen.

Dies wird in R als „Recycling“ bezeichnet.

Um fehlende Werte für den kürzesten Vektor mit NA-Werten zu füllen, können Sie die folgende Syntax verwenden:

 #define two vectors
vec1 <- c(3, 4, 5)
vec2 <- c(1, 6, 4, 4, 7, 6, 9, 8, 7)

#calculate max length of vectors
max_length <- max(length(vec1), length(vec2))

#set length of each vector equal to max length
length(vec1) <- max_length                      
length(vec2) <- max_length 

#cbind the two vectors together
cbind(vec1, vec2)

      vec1 vec2
 [1,] 3 1
 [2,] 4 6
 [3,] 5 4
 [4,] NA 4
 [5,] NA 7
 [6,] NA 6
 [7,] NA 9
 [8,] NA 8
 [9,] NA 7

Beachten Sie, dass die fehlenden Werte für den kürzesten Vektor jetzt durch die NA-Werte gefüllt werden.

Hinweis : In diesem Beispiel haben wir cbind mit zwei Vektoren verwendet, Sie können jedoch eine ähnliche Syntax verwenden wie cbind mit mehr als zwei Vektoren.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:

Wie man cbind in R verwendet (mit Beispielen)
Wie man rbind in R verwendet (mit Beispielen)
So benennen Sie Spalten um, wenn Sie cbind in R verwenden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert