是否可以使用R来获取提取区域的统计数据?

时间:2012-06-13 15:57:59

标签: 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   :

1 个答案:

答案 0 :(得分: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)并且仍然得到了预期的结果。