2017-01-06 8 views
0

を積み重ねるとき、私はこのコードを使用して21個のラスタファイルスタックしようとしています:R:予期しないエラーラスタ

setwd("D:/LANDSAT8/2016/LC8221077/all/") 

img = stack(list.files(pattern=".TIF$")) 

names(img) <- c(paste0("B", 1:21, coll = "")) 

をしかし、私はそれを実行すると、このエラーメッセージのショー:

Error in rep.int(names(x), lengths(x)) : invalid 'times' value

どうすれば解決できますか?

+0

あなたは 'img'のコンソール出力をあなたの質問に編集できますか? – loki

+0

スタックに正しい数のレイヤーがある場合、 'names ...'行は正常に動作するはずです。 1つ目のレイヤーを確認します。あるいは、エラーが 'img = stack ...'行にあれば?もしそうなら、 'list.files(pattern ="。TIF $ ")'だけで何が生成されますか? – dww

+3

また、[this](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)、特にラスタのセクションを読んでください。ここに投稿する前に再現可能な例を作る必要があります。それは誰も立っていませんが、コードを実行してテストすることができます。最小限の再現可能な例を作成しているときに、その問題が何であるかを知ることができます。 – dww

答えて

0

@maRtinは彼のコメントで説明したように:あなたはおそらく、あなたもhereを述べたようにRaster*Objectsのために定義されていないutils::stack.default()を使用し、このように

library(raster) 

をロードするために忘れてしまいました。

関連する問題