1
dplyrを使用してマルチプルデータフレームを関数に渡し、要約変数を含むデータフレームを返すことを望みます。私はこれを集計レベルで問題なく行うことができますが、ファクタでグループ化しようとすると、関数は全体の集計に対して同じ値を返します。ここで私はそれが正常に動作している必要があり一例である。フレームを関数として渡すとき、dplyrのグループで変数を集計できません
compCalc <- function(frame,segment) {
newFrame <- frame %>%
summarise(seg = segment,
FTEs = sum(FTEs),
total_TCC = sum(frame$totalCompensationCost),
TCC_per_fte = sum(frame$totalCompensationCost)/sum(frame$FTEs),
TCC_per_hour = sum(frame$totalCompensationCost)/sum(frame$hours),
total_wages = sum(frame$totalWages))
return(newFrame)
}
は、私はそのようにのような関数を呼び出す:
nuSectorOverall <- compCalc(dfEx, "allNonUnion")
と私はこのような素敵な出力が得られます。
Overall
seg FTEs total_TCC TCC_per_fte TCC_per_hour total_wages
allNonUnion 3980.559 185865849 46693.4 24.09153 171344280
今とき次のようにgroup_by句をミックスに導入します。
compCalcEmp <- function(frame,segment) {
newFrame <- frame %>%
group_by(employeeGroup) %>%
summarise(seg = segment,
FTEs = sum(FTEs),
total_TCC = sum(frame$totalCompensationCost),
TCC_per_fte = sum(frame$totalCompensationCost)/sum(frame$FTEs),
TCC_per_hour = sum(frame$totalCompensationCost)/sum(frame$hours),
total_wages = sum(frame$totalWages))
return(newEmpFrame)
}
あなたはそれがのFTEを除いて、各グループ化変数の同じ値を計算している見ることができるように
employeeGroup seg FTEs total_TCC TCC_per_fte TCC_per_hour total_wages total_wages_per_fte
<chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Bargaining Unit overall 139.2841 185865849 46693.4 24.09153 171344280 43045.28
2 Management & Excluded overall 402.0311 185865849 46693.4 24.09153 171344280 43045.28
3 Non-Union overall 3439.2438 185865849 46693.4 24.09153 171344280 43045.28
:
は、私は次のような問題に遭遇します!
私はそれに似た質問があるかどうかは分かりませんでした。私はそれが見つからなければ謝ります。どんな助けも非常に高く評価されるでしょう!
あなたはdplyr
管内frame
の列を参照するためにframe$
を使用したくないすべてのベスト、
R
これはうまくいった!私を助けるために時間をかけてくれてありがとう!ほんとうにありがとう! – robbieNukes