2013-03-18 44 views
-2

我有兩個相同尺寸的二進制文件:第一個代表2個數據之間的相關性,第二個代表土地利用圖。我想根據土地利用值(間隔)取我的相關性(第一個文件)的平均值,值該文件的範圍從0到7.每當第二個文件中的值在0-1之間時,計算第一個文件中的相應平均值並返回結果,用2-3,3-4,5- 6,7-8。如何根據另一個文件中的條件計算一個文件的平均值?

這裏有兩個文件:

1讀取的第一個文件相關地圖:

conne <- file("C:\\corr.bin","rb") 
    corr<- readBin(conne, numeric(), size=4, n=1440*720, signed=TRUE) 

2至讀取第二檔土地覆蓋圖:

conne1<- file("C:\\use.bin","rb") 
    cus<- readBin(conne1, numeric(), size=4, n=1440*720, signed=TRUE) 

回答

2

你可以使用cut()創建間隔,並使用aggregate()來計算平均值。

(cusBREAK <- cut(cus,0:6)) 
(corrMEAN <- aggregate(corr, list(cusBREAK), mean)) 
+0

因此,這將會使位:'(0,1](1,2](2,3](3,4](4,5](5,6]'' (corrMEAN < - (0)] NaN 2(1,2)NaN 3(2,3)NaN 4(3,4) NaN 5(4,5)NaN 6(5,6)NaN'我想知道我得到了所有的NAN,如果我想改變這個間隔怎麼辦。這裏的間隔是從0-1和1-2如果我想要什麼1-1.5和1.5 -2 ..... – 2013-03-18 14:55:54

+0

將你的數據樣本添加到問題中(輸入'dput(conne)'並粘貼結果,我無法從我的計算機下載)。要更改間隔,矢量「0:6」(一個從0開始的整數向量)到6)到「seq(0,6,by = .5)」 – Rcoster 2013-03-18 15:54:22

相關問題