是否可以使用 R 获取提取区域的统计信息



我有一个大小为 (360 720 )的二进制文件。我编写了下面给出的代码来读取并从该文件中提取一个区域。 当我对我得到的整个文件使用摘要时。

summary(a, na.rm=FALSE)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
0.00    1.00    3.00    4.15    7.00   20.00  200083 .

但是当对我提取的区域(b)使用摘要时,我得到了许多V1,V2。这是不对的,我应该有一行(至于a)没有很多V1,V2。

这是代码:

X <- c(200:300)
Y <- c(150:190)
conne <- file("C:\initial-WTD.bin", "rb")
a=readBin(conne, numeric(), size=4,  n=360*720, signed=TRUE)
a[a == -9999] <- NA
y <- matrix(data=a,ncol=360,nrow=720)
image(t(t(y[X,Y])),ylim=c(1,0))
b = y[X,Y]
summary(b,na.rm=FALSE)
   V1            V2            V3            V4            V5           V6            V7       
 Min.   : NA   Min.   : NA   Min.   : NA   Min.   : NA   Min.   : 8   Min.   : NA   Min.   :   
 1st Qu.: NA   1st Qu.: NA   1st Qu.: NA   1st Qu.: NA   1st Qu.:11   1st Qu.: NA   1st Qu.:  
 Median : NA   Median : NA   Median : NA   Median : NA   Median :14   Median : NA   Median  
 Mean   :NaN   Mean   :NaN   Mean   :NaN   Mean   :NaN   Mean   :14   Mean   :NaN   Mean     
 3rd Qu.: NA   3rd Qu.: NA   3rd Qu.: NA   3rd Qu.: NA   3rd Qu.:17   3rd Qu.: NA   3rd  
  Max.   : NA   Max.   : NA   Max.   : NA   Max.   : NA   Max.   :20   Max.   : NA   Max.     
 NA's   :101   NA's   :101   NA's   :101   NA's   :101   NA's   :99   NA's   :101   NA's   :

问题不在于对矩阵进行索引,而在于访问它之前的某个地方:

a <- matrix(1:100, 10, 10)
summary( a[1:3,1:3] )
       V1            V2             V3      
 Min.   :1.0   Min.   :11.0   Min.   :21.0  
 1st Qu.:1.5   1st Qu.:11.5   1st Qu.:21.5  
 Median :2.0   Median :12.0   Median :22.0  
 Mean   :2.0   Mean   :12.0   Mean   :22.0  
 3rd Qu.:2.5   3rd Qu.:12.5   3rd Qu.:22.5  
 Max.   :3.0   Max.   :13.0   Max.   :23.0  

您设法击中了一些非 NA 值(显然只有 2 个),但为什么要使用如此稀疏的数据来做到这一点?我将其扩展到 100 列(满分 1000 列),但仍然得到了预期的结果。

最新更新