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.*