R:从图像堆栈中导入两个或多个选定波段

R: import two or more selected bands from an image stack

如何使用 R 导入图像堆栈的两个或多个选定波段?

为了再现性:我想从图像 f 中导入波段 1 和波段 3。

f <- system.file("external/rlogo.grd", package="raster")

我试过:

r <- stack(f, bands=c(1,3)) 
r <- stack(f, layers=c(1,3)) 
r <- stack(f, layers=c(f[1],f[3]))
r <- raster(f, band=c(1,3)) 

但我只收到不同的错误消息,没有 2 个带的堆栈 r。

这似乎是您要找的东西。

plot(stack(f)[[c(1,3)]])

我已经在版本 2.4-21 中解决了这个问题(可能通过 install.packages("raster", repos="http://R-Forge.R-project.org") 在 R-Forge 上可用)