Удалить столбцы с столбцами = 0
У меня есть матрица, элементами которой являются 0, 1,2, NA!
Я хочу удалить столбцы, у которых их столбцы равны 0 или NA! Я хочу удалить эти столбцы из исходной матрицы и создать новую матрицу для этих столбцов (ненулевых столбцов)! (Я думаю, что для вычисления резюме, я считаю na.rm = True и удаляю столбцы с colsum = 0, потому что, если я считаю na.rm = False, все значения моих резюме получают NA)
это мой матричный формат:
mat[1:6,1:6]
1:11059017 1:11088817 1:11090640 1:11099385 1:1109967 1:111144756
0 0 0 0 NA 0
0 0 0 0 0 NA
1 NA 2 0 NA 0
0 0 0 1 0 2
2 0 0 0 0 0
0 0 NA 0 0 0
Summat <- colSums(mat,na.rm = TRUE)
head(summat)
1:11059017 1:11088817 1:11090640 1:11099385 1:1109967 1:111144756
[,1] 3 0 2 1 0 2
2-й и 5-й столбцы имеют colsum = 0, поэтому я должен удалить их из met и сохранить остальные столбцы в другой матрице.
мой вывод должен быть как ниже:
met-nonzero
1:11059017 1:11090640 1:11099385 1:111144756
0 0 0 0
0 0 0 NA
1 2 0 0
0 0 1 2
2 0 0 0
0 NA 0 0
пожалуйста, дайте мне знать, как я могу это сделать?
данные:
structure(c(0L, 0L, 1L, 0L, 2L, 0L, 0L, 0L, NA, 0L, 0L, 0L, 0L,
0L, 2L, 0L, 0L, NA, 0L, 0L, 0L, 1L, 0L, 0L, NA, 0L, NA, 0L, 0L,
0L, 0L, NA, 0L, 2L, 0L, 0L), .Dim = c(6L, 6L), .Dimnames = list(
NULL, c("X1.11059017", "X1.11088817", "X1.11090640", "X1.11099385",
"X1.1109967", "X1.111144756")))
Спасибо