は、私は、次のデータフレームを持っており、この質問には、[このスレッド]私はサービスとnonservicedグループの平均待ち時間を取得したい異なるグループごとの集計データの平均時間を計算するにはどうすればよいですか?
df = data.frame(c("2012","2012","2012","2013"),
c("AAA","BBB","AAA","AAA"),
c("X","Not-serviced","X","Y"),
c("2","10","3","2.5"))
colnames(df) = c("year","type","service_type","waiting_time")
に関するものです。これは、データがグループ化される方法です。
library(data.table)
setDT(df)[, .(num_serviced = sum(service_type != "Not-serviced"),
num_notserviced = sum(service_type =="Not_serviced"),
avg_wt = mean(waiting_time)), ## THE PROBLEM HERE!!!
.(year, type)][, Total := num_serviced + num_notserviced][]
ただし、avg_wt = mean(waiting_time))
合計平均待機時間の見積もり。むしろavg_wt_serviced
とavg_wt_notserviced
が必要です。
結果がでなければなりません:
year type num_serviced num_notserviced num_total avg_wt_serviced avg_wt_notserviced
2012 AAA 2 0 2 2.5 0
@RonakShah:あなたは本当に正しいです。気づいてくれてありがとう。 10は2012年とBBBを指す。 2012年およびAAAの場合は0です。 – FiofanS