Удалить столбцы с столбцами = 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")))

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос