我们都知道如何使用列索引向量从矩阵中排除列:
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]
}
答案 0 :(得分:1)
我们可以使用j1 <- setdiff(seq_len(ncol(a)), v)
a[, j1, drop = FALSE]
,然后是子集“ a”
00120181120xyz12341
00220180203abc56792
00320181203pqr25483
答案 1 :(得分:0)
重新排列上一个命令,您应该会很好