我有一个带有一些空行和空列的矩阵。我想将空行和列一直移动到右侧和底部矩阵的末尾。
我设法获取所有空行的rownames和columnnames。
我试图做的事情:
Cnew = Cnew[!(Cnew$rownames %in% empty_rownames)]
似乎无法让它工作......
答案 0 :(得分:0)
如果仅删除某些列中包含NA值的行(观察)
test <-matrix(
c(rep(c(NA, 1:9), 8) ),
nrow=10,
ncol=8)
test <- test[complete.cases(test),]
答案 1 :(得分:0)
假设您有一个6x6矩阵,其中包含一个空列和一个空行(表示所有条目都为NA
)
Cnew <- matrix(nrow = 6, ncol = 6, data = 1)
Cnew[,4] <- NA
Cnew[3,] <- NA
empty.columns <- which(colSums(Cnew, na.rm = TRUE) == 0)
empty.rows <- which(rowSums(Cnew, na.rm = TRUE) == 0)
# we first delete the row and cols
# for deleting do
Cdel <- Cnew[-empty.rows,-empty.columns]
# and then paste the rows and cols at the edges again
Cdel <- cbind(Cdel, rep(NA, length(empty.columns)))
Cdel <- rbind(Cdel, rep(NA, length(empty.rows)))