2013-10-15 53 views
0

對數據子集的平均值我在讀該數據幀:分割數據幀,並計算中的R

steps day   month 
4758 Tuesday  December 
9822 Wednesday December 
10773 Thursday December 

欲遍歷所述數據幀和應用功能來基於在所述值的步驟列月份列。我試圖計算出每個月每個工作日的平均步數。

我要輸出到像這樣一個新的數據幀,其中工作日重複,但我只是每天的平均值:

average.steps day   month 
4500   Tuesday  December 
9000   Wednesday December 
1000   Thursday December 

我可以計算出如何計算出的平均值爲數據框架作爲一個整體,但希望使用for循環將其應用於來自同一月份的步驟值。

avgsteps <- ddply(DATA, "day", summarise, msteps = mean(steps)) 

我的基本理念,爲的職能是:

f <- function(m in month) {ddply(DATA, "day", summarise, msteps = mean(steps))} 

但不會對其進行處理,並引發錯誤:

Error: unexpected 'in' in "f <- function(m in" 

任何幫助將不勝感激!

編輯:

所以我試圖@ agstudy的修復建議(下),它得到正確的數據結構(每個工作日每月單值),但分配到每一天的價值是相同的。我有點困惑什麼可能會出錯。

steps.month.day.avg <- ddply(steps.month.day, .(fitbit.day,fitbit.month), summarise, msteps = mean(steps)) 

回答

3

無需環路這裏,你應該只改變變量分裂的數據幀,

ddply(DATA, .(day,month), summarise, msteps = mean(steps)) 
+0

感謝@agstudy,更有意義。我得到了正確的結構(每個月的星期一到星期日),但它給了我每天,每月組合的相同平均值。任何想法,我要去錯了嗎? –