A: как использовать cbind с векторами разной длины


Самый простой способ использовать cbind в R с векторами разной длины — установить для векторов одинаковую длину с помощью функции length() .

В следующем примере показано, как это сделать.

Пример: использование cbind с векторами разной длины в R

Предположим, мы используем cbind для связывания двух векторов разной длины в R:

 #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

Функция cbind работает с обоими векторами, но учтите, что значения первого вектора просто повторяются снова и снова.

У Р. это называется «переработкой».

Чтобы заполнить недостающие значения для кратчайшего вектора значениями NA, вы можете использовать следующий синтаксис:

 #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

Обратите внимание, что недостающие значения для кратчайшего вектора теперь заполняются значениями NA.

Примечание . В этом примере мы использовали cbind с двумя векторами, но вы можете использовать синтаксис, аналогичный использованию cbind с более чем двумя векторами.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как использовать cbind в R (с примерами)
Как использовать rbind в R (с примерами)
Как переименовать столбцы при использовании cbind в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *