为满足特定条件的SpatialGridDataFrame对象删除行

为满足特定条件的SpatialGridDataFrame对象删除行,r,dataframe,rgdal,R,Dataframe,Rgdal,我正在处理某些可能具有多个波段/通道的图像(参见多光谱和高光谱遥感图像) 假设我们事先不知道给定图像中存在多少条带。所有通道均命名为“波段1”、“波段2”。。。等等阅读我们使用的图像 library(sp) library(rgdal) image <- readGDAL("image.tif') 可能存在特定“像素”的所有频带的内容为零的特定情况。因此,如果是四波段图像,那么我们可以使用以下方法从data.frame中删除这些行: imData <- imData[!((imDa

我正在处理某些可能具有多个波段/通道的图像(参见多光谱和高光谱遥感图像)

假设我们事先不知道给定图像中存在多少条带。所有通道均命名为“波段1”、“波段2”。。。等等阅读我们使用的图像

library(sp)
library(rgdal)
image <- readGDAL("image.tif')
可能存在特定“像素”的所有频带的内容为零的特定情况。因此,如果是四波段图像,那么我们可以使用以下方法从
data.frame
中删除这些行:

imData <- imData[!((imData$band1==0) & (imData$band2==0) & (imData$band3 == 0) & (imData$band4 == 0)),]
imDataTry


imData未测试
imData[!Reduce('&',imData==0),]
也可能
!!行和(imData!=0)
我猜第一个是
imData[!Reduce(
&
,as.data.frame(imData==0)),]
imData <- imData[!((imData$band1==0) & (imData$band2==0) & (imData$band3 == 0) & (imData$band4 == 0)),]
imData <- imData[!(rowSums(imData) == 0),]