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