R 如何按两个因素进行计算

R 如何按两个因素进行计算,r,R,我想每天计算每个员工的客户满意度水平,我的数据如下: df <- data.frame( rep(seq( from=as.Date("2012-1-1",tz="UTC"), to=as.Date("2012-1-30",tz="UTC"),by="day"),50), as.factor(c(rep("A",300),rep("B",300),rep("C",300), rep("D",30

我想每天计算每个员工的客户满意度水平,我的数据如下:

df <- data.frame(
        rep(seq(
                from=as.Date("2012-1-1",tz="UTC"),
                to=as.Date("2012-1-30",tz="UTC"),by="day"),50),
        as.factor(c(rep("A",300),rep("B",300),rep("C",300), rep("D",300),rep("E",300))),
        sample(c(1:5), 1500, replace = TRUE))
colnames(df)<-c("time", "staff_NO.", "rating")

df

df如果您每天只测量一个满意度水平,您是否在寻找每日满意度的二进制输出?在您的示例中,我只看到每个独特的员工日组合的一个
评级
(假设
员工号。
是员工),除非我遗漏了什么。我想,使用
dplyr
并按员工和日期对数据帧进行分组,可能更容易实现目标。对于你的例子,请编辑你的问题,并提供你想要的输出应该是什么样子来澄清(至少有几个例子)。哥们,谢谢你的提醒!!!我刚刚编辑了我的数据帧…我可以用两个变量对数据帧进行分组,然后计算平均值之类的。。但是我不知道如何根据分组计算满意度,你能帮我吗?
staffname<-unique(df$staff_NO.)
satisfied<-c()
for(k in 1: length(staffname)){ 
        print(satisfied[k]<-sum(df$staff_NO.==staffname[k]& (df$rating=="4"|df$rating=="5")) 
                /sum(df$staff_NO.==staffname[k]))
}
##this is what I ve tried....

day<-unique(df$time)
staffname<-unique(df$staff_NO.)
satisfied<-c()

for (j in 1: length(day)){
        for(k in 1: length(staffname)){ 
             print(sum(df$staff_NO.==staffname[k]& df$time==day[j]&(df$rating=="4"|df$rating=="5")) 
                /sum(df$staff_NO.==staffname[k]))& df$time==day[j]..
 *I want to save the result as a dataframe containing date, staff NO., and satisfaction level.*