У меня есть матрица, в которой каждая строка имеет хотя бы одну ячейку NA, и каждый столбец имеет по меньшей мере одну ячейку NA. Мне нужно найти самое большое подмножество этой матрицы, которое не содержит NA.
Например, для этой матрицы A
A <-
structure(c(NA, NA, NA, NA, 2L, NA,
1L, 1L, 1L, 0L, NA, NA,
1L, 8L, NA, 1L, 1L, NA,
NA, 1L, 1L, 6L, 1L, 3L,
NA, 1L, 5L, 1L, 1L, NA),
.Dim = c(6L, 5L),
.Dimnames =
list(paste0("R", 1:6),
paste0("C", 1:5)))
A
C1 C2 C3 C4 C5
R1 NA 1 1 NA NA
R2 NA 1 8 1 1
R3 NA 1 NA 1 5
R4 NA 0 1 6 1
R5 2 NA 1 1 1
R6 NA NA NA 3 NA
Существует два решения (8 ячеек): A[c(2, 4), 2:5]
и A[2:5, 4:5]
, хотя для моих целей достаточно найти только одно действительное решение. Размеры моей фактической матрицы составляют 77x132.
Будучи noob, я не вижу очевидного способа сделать это. Может ли кто-нибудь помочь мне с некоторыми идеями?