2013-10-11 84 views
-1

我有一個數據框在一列(日期)有序的標籤和在另一個數值。我想減少幀,所以只有許多行被省略。備用行應該均勻分佈,以便進行系統採樣,並對平均值進行平均。減少一個數據幀爲n值

在R或Excel中有沒有簡單的方法?


答: 因爲這個問題被擱置我會回答這裏。我必須感謝@pnuts的領導。

我在表中創建一個新的列,並設置該公式列中的所有單元格:

=IF(MOD(ROW()-1721;7)=1;AVERAGE(OFFSET(INDIRECT(ADDRESS(ROW(); COLUMN()));0;-1;7));"") 

這將創建一個值,在以前的專欄平均七個在同一行開始。這是每七行完成的。

table example

然後將坯件從柱過濾掉。

+2

提供一個玩具的例子,我相信它會很清楚。目前,不是真的(對我來說至少)。 –

+0

關閉重新** **要求代碼**' - 但Q不這樣做(具體或間接),而「簡單的方式」可能表明其他方法實際上是首選。 – pnuts

+1

完全不明白爲什麼這個問題已經結束......我已經看到了很多像這樣的問題! – Bakaburg

回答

1

我建議數據透視表:

SO19316400 example

因爲我在A2選擇每十與=IF(MOD(ROW(),10)=1,"*",ROW())選擇複製下來。這雖然可以被抵消(以選擇十個中的一個的不同組),但公式中的10可以被改變以增加或減小樣本大小。

但是,對於「*」和「求和」ColumnC的選擇列,使用=SUBTOTAL(101,C:C)也應該有效。

或者,刪除不啓動「*」的行並使用=AVERAGE(C:C)