2016-09-06 11 views
-1

データフレームは、その日付に基づいてリストに分割しています。 分割した後は、(i)最新の日付と分割日の差、および(ii)新しく作成されたリストsplitDate内のデータフレーム内の列の平均の2つを計算することを計画しています。リスト内のデータフレームの列からの計算

このデータフレームには2つの日付があり、2つのデータフレームのリストが作成されました。

rawDM <- data.frame(DM =c(1,2,3,4,5,6,7,8,9,10), 
        Date=c.Date(2015-11-22, 2015-11-22, 2015-11-22, 2015-11-22, 2015-11-22, 2015-11-20, 2015-11-20, 2015-11-20, 2015-11-20, 2015-11-20)) 

rawDM$Created.Date <- as.Date(rawDM$Date, format="%d/%m/%Y") 
maxDate<-max(rawDM$Created.Date) #calculates most recent date 

rawDM$amendDate<- maxDate-rawDM$Created.Date # amount of days from max date 
splitDate <- split(rawDM, list(rawDM$amendDate)) #splits based off of amended dates 
rawDM <- subset(rawDM, select = c(DM, Created.Date, amendDate)) 

splitMean <- as.list(mean, splitDate$*$DM) # this is where I am having issues 

予想される結果は、リストsplitDate内のすべてのデータフレームの列DMの平均のsplitMean = listを持つことになります。しかし、可変データの量は不明であるため、各データフレームの選択をハードコードする必要はありません。列DMを含むすべてのデータフレームに平均を実行する関数はありますか?

+0

のような適用の家族の機能がAkrunありがとうのいずれかを使用することができ、私は、全体のポストを編集しました。私に教えてください1 –

+0

私は以下の解決策を掲載しました。それが役立つかどうかを確認してください – akrun

答えて

0

'splitDate'をループし、 'DM'列を抽出してmeanを取得する必要があります。このために、我々はsapply/vapply

vapply(splitDate, function(x) mean(x$DM, na.rm=TRUE), 0) 
# 0 2 
# 8 3 
関連する問題