как выполнить расчет по двум факторам - PullRequest
0 голосов
/ 28 октября 2019

Я хотел бы рассчитывать уровень удовлетворенности клиентов для каждого сотрудника каждый день, мои данные выглядят так:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...