1
指定された日付に複数の値があります。与えられた日ごとにn個の最高値の平均を計算したい。グループのN個の最高/最低要素の平均
1日目の値が(1,2,3)、2日目(4,5,6)の場合、1日目は2.5、2日目は5.5になります。 問題とこれまでのアイデアを説明するサンプルデータの下に。
library(tidyverse)
#Setting up Dummy Data
Dummy_date<-c("2017-01-01","2017-01-01","2017-01-01","2017-01-02","2017-01-02","2017-01-02")
Dummy_data<-seq(1:6)
Dummy_df<-as.data.frame(cbind(Dummy_date,Dummy_data))
names(Dummy_df[1])<-"Date"
names(Dummy_df[2])<-"Data"
#Format Dummy Dataframe
Dummy_df$Dummy_date<-as.POSIXct(Dummy_date)
Dummy_df$Dummy_data<-as.numeric(Dummy_data)
#Defining N
N=2
#My initial approach. which only works for the 1st day...
Best_N<-Dummy_df%>%
group_by(Dummy_date)%>%
summarise(Max2=sum(order(-Dummy_data)[1:N])/N)
Best_N
出力は、1日目の正しい結果である両方の日の値が2.5になります。
ありがとうございます。完璧な作品 –