2016-12-22 5 views
1

ラスターがあり、最初と最後の行の値を比較する必要があります。それは私がやったものだ (底部と最上部接続しているクラスタがあれば、私は、知りたい):lapplyをラスタのリストに使用する方法

V1=getValues(r,row=1) 
V1=V1[V1!=0] 
V1=unique(V1) 

と最後の行と同じように。 次に、私はこれを行う:

V1 %in% V2 

それは大丈夫です。それは働いている。しかし、私は多くのラスタでこれを行う必要があります。 私は、これらのいくつかのラスタを使ってリストを作成し、リストのすべてのラスタ上でスクリプトを実行することを考えました。私はlapplyでそれをすることができると思ったが、それをどうやって行うのか分からない。

それともバックまたはこの

raster  connected 
r1   TRUE 
r2   FALSE 
r3   FALSE 
...  ... 

答えて

1
FUN.raster <- function(r) { 
    x <- getValues(r, row = 1) 
    x <- x[x!=0] 
    x <- unique(x) 

    y <- getValues(r, row = nrow(r)) 
    y <- y[y!=0] 
    y <- unique(y) 

    x %in% y 
} 

、その後

sapply(rasterlist, FUN.raster) 

のようなものこれはあなたとTRUE/FALSEのブールベクトルを与えるデータフレームの種類を取得する可能性がありますrasterlistの長さです。サンプルデータを提供していないので、これはテストされていないことに注意してください。

関連する問題