3
を使用して、0-1(ブール値)の行列内の連続領域を特定することに興味があります。私は0-1値の行列を与えて、連続する各クラスタ(対角線の数を数えるかどうかの選択肢は理想的ですが)を識別し、そのクラスタ内のセルの数を登録したいと思います。R:隣接するセルのクラスタを特定する(0-1値の2次元行列の連続領域)
set.seed(14)
p <- matrix(0, ncol = 10, nrow = 10)
p[sample(1:100, 10)] <- 1
ones <- which(p == 1)
image(p)
(上から下へ)で、4個の異なる基を(私は対角線を数えていますので)私が識別できるようにしたいと思います2:
は、次の例を見てみましょう、1つ、5つ、および2つのセルをクラスタごとに割り当てます。
raster
パッケージにはadjacent
という機能があり、隣接するセルの位置を突き止める機能はありますが、これを行う方法がわかりません。
最後の制約は、理想的な解決方法が速いことです。私はdata.table
dt[, lapply(.SD, ...)]
のグループ内でそれを使用できるようにしたいと考えています(それぞれのグループは、私がマトリックスを作成できるデータセットです)。
あなたは(https://cran.r-project.org/web/packages/spdep/vignettes/nb [* *隣人を作成する]に興味がありますする必要が。 pdf)? – Konrad
ここに複製、http://stackoverflow.com/q/35772846/604456ラスタパッケージの 'clump'関数を参照してください。 –
@AndyWあなたが回答として書いたら、私はそれを受け入れ、それを閉じてマークします。 – mbarete