我有一个包含8个变量的数据框:
对于变量Labor Category
,我们有5个因素:假期工作,常规,加班,培训,其他工作。
问题是:我是否可以找到一种方法来聚合除Labor Category
之外的具有相同值的行并总结Sum_FTE
变量?
即。我们可以在添加更多列的同时减少行数:
“Labor.CategoryHoliday.Worked”,“Labor.CategoryOther.Worked”,“Labor.CategoryOvertime”,“Labor.CategoryRegular”,“Labor.CategoryTraining”并使用0或1表示每个因子的状态。然后将除工作类别之外的具有相同值的行总计FTE总结。
答案 0 :(得分:0)
我们可以通过运营来做一组。使用dplyr
,我们将group_by
中的列名称指定为分组变量,然后获取" Sum_FTE"的sum
与summarise
。
library(dplyr)
df1 %>%
group_by_(.dots= names(df1)[c(1:2,4:5)]) %>%
summarise(TotalFTE= sum(Sum_FTE))
对于问题的第二部分,我们可以使用dcast
(用dput
代替图片文件显示数据集会更好
library(data.table)
setDT(df1)[, N := 1:.N, (Labor.Category)]
dcast(df1, Med.Center+Charged.Job+Month+Pay.Period.End ~N,
value.var="Labor.Category, length)