Я провел опрос среди студентов, и теперь у меня есть набор данных, содержащий 68 записей с более чем 20 переменными. Теперь я смотрю на один вопрос (одну переменную): «Вы хотите загрузить резюме на платформу?»
Чтобы легко проанализировать этот вопрос, я сгруппировал ответы (используя функцию group_by tidyverse), используя следующий код:
upload = data %>%
filter(!is.na(`Upload summaries?`)) %>%
group_by(`Upload summaries?`) %>%
summarise(
number=n()
) %>%
arrange(-number)
Это приводит к следующему набору данных:
`Upload summaries? number
<fct> <int>
1 Yes 50
2 No 18
Затем я сделал круговую диаграмму, используя следующий код (ggplot2):
upload_pie = upload %>%
ggplot(aes(x="", y=number, fill=`Upload summaries?`)) +
geom_bar(width=1, stat="identity") +
geom_text(aes(label=paste(round(number / sum(number) * 100, 0), "%")), position = position_stack(vjust = 0.5)) +
coord_polar("y", start=0) +
labs(fill="Answers", x="", y="", title = "Would you upload summaries to SynopShare?")
plot(upload_pie)
Что приводит к следующему:
Однако в легенде я хочу, чтобы «Да» было первым, а «Нет» - вторым. Как я могу это изменить?
Я уже пытался использовать scale_x_discrete () (добавляя его в график):
scale_x_discrete(c("Yes", "No")) +
Но это не привело к каким-либо изменениям.
Более того, я попытался добавить следующий код:
levels(upload$`Upload summaries?`) = c("Yes", "No")
Но это привело к искажению сюжета: