У меня есть логическая матрица, и я хочу найти максимальное количество строк и столбцов, которые являются ИСТИННЫМИ.То есть я хочу иметь наибольшее количество ИСТИНА на строку для наибольшего количества столбцов.
Вот некоторые примеры данных
a = c(T, T, T, T, T)
b = c(F, T, T, T, F)
c = c(F, F, T, T, F)
d = c(T, T, T, F, F)
x = matrix(c(a, b, c, d), nrow = 4, byrow = TRUE)
, которые выглядят так:
> x
[,1] [,2] [,3] [,4] [,5]
[1,] TRUE TRUE TRUE TRUE TRUE
[2,] FALSE TRUE TRUE TRUE FALSE
[3,] FALSE FALSE TRUE TRUE FALSE
[4,] TRUE TRUE TRUE FALSE FALSE
В этом примере есть три решения, которые возможны.Я мог бы сохранить x[c(1,2,4), 2:3]
, x[1:3,3:4]
и x[1:2,2:3]
, два из которых дают 3 строки и два столбца, а один - 2 строки и 3 столбца - все дают 6 ИСТИНА.
Как я могу понять это, чтобы она могла масштабироваться до гораздо большей матрицы?
Не думаю, что я очень хорошо передаю эту проблему - но также не могу понять, какчтобы сформулировать это лучше, поэтому, пожалуйста, попросите разъяснений.