Мы все знаем, как исключить столбцы из матрицы, используя вектор индексов столбцов:
v=c(1,3)
a = matrix(rnorm(12),nrow=3)
a[,-v]
Но когда вектор индексации пуст, возвращаемая матрица пуста:
v = numeric()
a[,-v]
# returns matrix with 0 columns
Как я могу получить возвращенную матрицу в качестве исходной матрицы, когда исключенный набор индексов столбцов пуст?
Должен быть более изощренный способ, чем использование громоздких if else
:
if (length(v)==0) {
b = a
} else {
b = a[,-v]
}