0

我有一个大小为 (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。这是不对的,我应该得到一条线(至于一条),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   :
4

1 回答 1

0

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

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 列),但仍然得到了预期的结果。

于 2012-06-13T16:15:34.900 回答