java 删除二进制内容_从二进制矩阵中仅删除一个元素的行/列
cr1msonB1ade的方式是一個很好的答案 . 對于更加計算密集的矩陣(數(shù)百萬x百萬),您可以使用此方法:
用稀疏表示法對矩陣進行編碼:
DT
1, 3, 4, 1, 2, 5, 6, 7, 5, 7), val = c(1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1)), .Names = c("i", "j", "val"), row.names = c(NA, -11L
), class = "data.frame")
給(0是隱含的)
> DT
i j val
1 1 2 1
2 2 1 1
3 2 3 1
4 3 4 1
5 4 1 1
6 4 2 1
7 5 5 1
8 5 6 1
9 5 7 1
10 6 5 1
11 6 7 1
然后我們可以過濾使用:
DT
DT[, rowcount := .N, by = i]
DT[, colcount := .N, by = j]
贈送:
>DT[!(rowcount*colcount == 1)]
i j val rowcount colcount
1: 1 2 1 1 2
2: 2 1 1 2 2
3: 2 3 1 2 1
4: 4 1 1 2 2
5: 4 2 1 2 2
6: 5 5 1 3 2
7: 5 6 1 3 1
8: 5 7 1 3 2
9: 6 5 1 2 2
10: 6 7 1 2 2
(注意現(xiàn)在缺少(3,4)行)
總結(jié)
以上是生活随笔為你收集整理的java 删除二进制内容_从二进制矩阵中仅删除一个元素的行/列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python主进程 子进程_pool主进
- 下一篇: php中的fpm_详解PHP中PHP-F