Я хотел бы рассчитывать уровень удовлетворенности клиентов для каждого сотрудника каждый день, мои данные выглядят так:
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
уровень удовлетворенности для каждого сотрудника равен (число «5» и «4»)рейтинг / общее количество оценок).
Я знаю, как рассчитать уровень удовлетворенности каждого сотрудника в целом ,,, Я не знаю, как это сделать с помощью функции group_by, есликто-нибудь знает, дайте мне знать !!!!!!!
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.*