r number of columns or rows of result is not a multiple of vector length code example

Example: r number of columns or rows of result is not a multiple of vector length

# Error:
number of columns [or rows] of result is not a multiple of vector length

# Solution:
# This warning usually comes up when you're trying to combine multiple
# vectors or dataframes of unequal length with cbind or rbind. Watch 
# out for this because the output is still generated, but the vectors 
# that are shorter are repeated to match the length of the longest vector. 
# If you want to fill the shorter rows/columns with NAs, use the process
# outlined below:

# Example usage:
# Define vectors:
vector_1 <- c("a","b","c")
vector_2 <- c("d","e","f", "g")
vector_3 <- c("h","i","j", "k", "l")

# Add NAs to shorter vectors:
n = max(length(vector_1), length(vector_2), length(vector_3))
length(vector_1) = n
length(vector_2) = n
length(vector_3) = n

cbind(vector_1, vector_2, vector_3)
     vector_1 vector_2 vector_3
[1,] "a"      "d"      "h"     
[2,] "b"      "e"      "i"     
[3,] "c"      "f"      "j"     
[4,] NA       "g"      "k"     
[5,] NA       NA       "l" 

rbind(vector_1, vector_2, vector_3)
         [,1] [,2] [,3] [,4] [,5]
vector_1 "a"  "b"  "c"  NA   NA  
vector_2 "d"  "e"  "f"  "g"  NA  
vector_3 "h"  "i"  "j"  "k"  "l"

Tags:

R Example