У меня есть набор данных результатов исследования удовлетворенности по регионам.Каждый вопрос в опросе оценивается по 4-балльной шкале (от Очень доволен до Очень недоволен ).Каждая строка в наборе данных содержит агрегированный результат для данного вопроса в данном регионе в конце данного «финансового года».Он также содержит общее количество респондентов для каждого уровня.
Так выглядит набор данных
testdf=data.frame(FY=c("FY13","FY14","FY15","FY14","FY15","FY13","FY14","FY15","FY13","FY15","FY13","FY14","FY15","FY13","FY14","FY15"),
Region=c(rep("AFRICA",5),rep("ASIA",5),rep("AMERICA",6)),
QST=c(rep("Q2",3),rep("Q5",2),rep("Q2",3),rep("Q5",2),rep("Q2",3),rep("Q5",3)),
Very.Satisfied=runif(16,min = 0, max=1),
Total.Very.Satisfied=floor(runif(16,min=10,max=120)),
Satisfied=runif(16,min = 0, max=1),
Total.Satisfied=floor(runif(16,min=10,max=120)),
Dissatisfied=runif(16,min = 0, max=1),
Total.Dissatisfied=floor(runif(16,min=10,max=120)),
Very.Dissatisfied=runif(16,min = 0, max=1),
Total.Very.Dissatisfied=floor(runif(16,min=10,max=120))
)
Моя цель
Моя цельизменить форму набора данных из широкого в длинный формат, сначала создав столбец с именем Level
(который указывает уровень по 4-балльной шкале).Затем создайте столбец с именем Score
с агрегированными баллами и последний столбец с именем Total
с общим количеством респондентов для каждого соответствующего уровня.
Моя попытка
До сих пор я только что смог gather
уровней в один столбец и создать столбец Score
.
#Gather Satisfation levels
library(tidyverse)
testfinal = testdf %>% gather(Level,Score,-FY:-QST,-Total.Very.Satisfied,-Total.Satisfied,-Total.Dissatisfied,-Total.Very.Dissatisfied) %>%
select(1:3,8:9,4:7)
Яне в состоянии понять, как gather
итогов в другом столбце , так что каждый итог во вновь созданном столбце Total
соответствуетсвязанный с ним уровень.
Вот предварительный просмотр того, как будет выглядеть окончательный набор данных, если все пойдет хорошо
#FY #Region #QST #Level #Score #Total
FY13 AFRICA Q2 Very.Satisfied 0.73080770 48
FY14 AFRICA Q2 Very.Satisfied 0.58686424 97
FY15 AFRICA Q2 Very.Satisfied 0.07358698 34
FY14 AFRICA Q5 Very.Satisfied 0.59996830 22
и так далее ...
Любые материалы будут высоко оценены.