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

Итак, у меня есть данные об удовлетворенности клиентов обслуживанием нашей команды CS, которые выглядят следующим образом:

employee<-c("A","A","A","B","B","B","C","C","C","D","D","D")
incident<-c(1,2,3,1,2,3,1,2,3,1,2,3)##number of incidents
rating<-c(0,2,0,1,0,2,0,0,2,1,2,2)## 0 means there is no rating, 1 means "not satisfied", 2 means "satisfied"
data.frame(employee, incident,rating)
##satisfaction level for each employee= (number of "satisfied"-number of "unsatisfied")/number of all incident (eg. for employee A, the satisfaction level is(1-0)/3). for B, it's (1-1)/3)

Я знаю, как рассчитать производительность каждого сотрудника и построить ее график, но что, если у меня 1000 сотрудников, могуКто-нибудь поможет мне написать функцию, которая сможет генерировать уровень удовлетворенности клиентов всех сотрудников (и, может быть, иметь их всех в одном графике)?

1 Ответ

0 голосов
/ 28 сентября 2019

Используя предоставленные вами данные и добавив вектор сотрудников, можно сделать следующее, если ваш data.frame имеет имя df:

Создать вектор сотрудника:

EmployeeList <- as.character(unique(df[, 1]))

Затем рассчитайте уровень удовлетворенности для каждого сотрудника:

f <- c()
sum <- c()
for(k in 1:length(EmployeeList)){
for(i in 0:2){
sum[i+1] <- sum(df[which(df[, "employee"] == EmployeeList[k]), "rating"] == i)
}
f[k] <- (sum[1] - sum[2])/length(which(df[, "employee"] == EmployeeList[k]))
}

, что оставляет нам вектор уровня удовлетворенности каждого сотрудника.Теперь мы можем визуализировать это, используя график:

barplot(f, names.arg = EmployeeList, space = 0, ylim = c(min(f)-1, max(f)+1)) 

enter image description here

Это будет работать и с большим набором данных.

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