Eliminar las columnas con los colsums = 0
¡Tengo una matriz cuyos elementos son 0, 1,2, NA!
¡Quiero eliminar las columnas cuyos colsums son iguales a 0 o NA! ¡Quiero eliminar estas columnas de la matriz original y crear una nueva matriz para estas columnas (colsums distintos de cero)! (Creo que para calcular los colsums he considerado na.rm = True y elimino las columnas con colsum = 0, porque si considero na.rm = False, todos los valores de mis colsums obtienen NA)
Este es mi formato de matriz:
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
Las columnas segunda y quinta tienen colsum = 0, por lo que debería eliminarlas del meta y mantener el resto de columnas en otra matriz.
mi salida debería ser como a continuación:
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
¿podría decirme cómo puedo hacer eso?
datos:
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")))
Gracias