2012-06-13 28 views
0

我有一個全球大小爲(360 720)的二進制文件。我編寫了下面給出的代碼來從該文件中讀取和提取一個區域。當我使用我得到的整個文件的摘要時。是否有可能使用R來提取區域的統計數據?

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 : 

回答

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),並且仍然得到了預期的結果。

+0

我的問題是爲什麼我得到V1,V2,V3 ...爲什麼對於整個文件,它只有一個V1。而對於提取的區域,我得到v1,V2 V3 ............ NA沒有問題。 –

+0

你的'a'對象顯然不是矩陣。你需要使用str()來看看它是什麼。 –

+0

是的,它不是矩陣,但我把它分配給y和y現在是矩陣 –

相關問題