Tests if the names of a second matrix are equal to a given matrix up to a permutation, and permute its columns accordingly. When the second one has no column names, the names of the first one are used in the same order.
checkNames(X1, X2, X1.name = "X1", X2.name = "X2")
checkNamesList(X1, l2, X1.name = "X1", l2.name = "l2")
a matrix containing column names.
a matrix containing the same number of columns.
a list with length ncol(X1)
.
,
optional names for the matrix X1
and X2
theirselves (useful for error messages).
optional names for l2
.
The matrix X2
, with columns possibly permuted. See details.
If X2
does not contain variable names, then the names of X1
are used in the same order, and X2
is returned with these names. Otherwise, if the column names of X1
and X2
are equal up to a permutation, the column of X2
are permuted according to the order of X1
' names.
# NOT RUN { X1 <- matrix(1, 2, 3) X2 <- matrix(1:6, 2, 3) colnames(X1) <- c("x1", "x2", "x3") checkNames(X1, X2) # attributes the same names for X2, and returns X2 colnames(X2) <- c("x1", "x2", "x5") # } # NOT RUN { checkNames(X1, X2) # } # NOT RUN { # returns an error since the names of X1 and X2 are different colnames(X2) <- c("x2", "x1", "x3") checkNames(X1, X2) # returns the matrix X2, but with permuted columns l2 <- list(x3 = 1, x2 = c(2, 3), x1 = -6) checkNamesList(X1, l2) # }