2016-08-18 3 views
1

rasterパッケージを使用して、Rで365レイヤのラスタブリックで作業しています。ピクセルインデックスr,cのラスターブリックのすべての値をレイヤーインデックスstart:stopから変換したいと思います。インデックスラスタブリック

year_mask[[start:stop]][r,c] 

...しかし、私は以下のようにして言って、ラスタレンガのこのサブセットに値を代入しようとすると:私はレンガからこれらの値を抽出する方法を考え出した

year_mask[[start:stop]][r,c] <- NA 

私は次のエラーを取得する..then:

Error in v[] <- value : incompatible types (from S4 to logical) in subassignment type fix

ラスタレンガの時空インデックスに値またはNAを割り当てる方法の任意の考え?

答えて

0

これはそれを行う必要があります。

year_mask[cellFromRowCol(year_mask,r,c)][start:stop] <- NA 

をここで、私はrcはスカラーであることを仮定している、と私は、行と列のインデックスからセルインデックスを取得するためにcellFromRowColを使用しています。 matrixを返しyear_mask[cinds]どちらの場合も、

cinds <- cellFromRowCol(year_mask,r,c) 
year_mask[cinds][1:length(cinds), start:stop] <- NA 

:あなたは、行と列のインデックスのベクトルとしてrcを持っていて、それらから、各行/ COLのペアをしたい場合は

?cellFromRowCol参照し、次の操作を行います各セルの行は索引付けされ、すべての層は列として表示されます。後続の索引はこの行列に索引付けされます。

rcのすべての組み合わせのセルが必要な場合は、cellFromRowColCombineを使用してcindsを取得します。

これが役に立ちます。