我想要根据他们报告的标题和性别来绘制回答调查的人数,我想根据列出该标题的人数对酒吧进行排序。问题是,绘图似乎是根据“其他”报告的值对其进行排序,而我更喜欢根据“男性”报告的值对它们进行排序(简单地说,因为更多的男性响应,这会使可视化效果更好)。以下是我的数据:
structure(list(title = c("Penetration Tester", "Penetration Tester",
"Application Security", "Infrastructure Security", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Security Engineer", "Security Engineer",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Audit", "Penetration Tester",
"Research", "Penetration Tester", "Penetration Tester", "Security Consultant",
"Sr. Security Consultant", "Security Engineer", "Compliance",
"Penetration Tester", "Penetration Tester", "Red Team", "Penetration Tester",
"Cloud Security", "Incident Response", "Penetration Tester",
"Penetration Tester", "Incident Response", "Director", "Support",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Red Team", "Audit", "Security Consultant",
"Incident Response", "Infrastructure Security", "Red Team", "Red Team",
"Penetration Tester", "Senior Security Architect", "Penetration Tester",
"Red Team", "Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Managing Consultant", "Incident Response", "Security Analyst",
"Penetration Tester", "Penetration Tester", "Compliance", "Red Team",
"Incident Response", "Penetration Tester", "Penetration Tester",
"Infrastructure Security", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Research", "Application Security", "Penetration Tester",
"Penetration Tester", "Application Security", "Penetration Tester",
"Penetration Tester", "Security Engineer", "Red Team", "Penetration Tester",
"Penetration Tester", "Red Team", "Security Engineer", "Incident Response",
"Infrastructure Security", "Red Team", "Penetration Tester",
"Research", "InfoSec Intern", "Incident Response", "Incident Response",
"Research", "Penetration Tester", "Red Team", "Security Engineer",
"Penetration Tester", "Incident Response", "Penetration Tester",
"Penetration Tester", "Red Team", "Incident Response", "Penetration Tester",
"Penetration Tester", "Infrastructure Security", "Red Team",
"Penetration Tester", "Penetration Tester", "Threat Intel/Analyst",
"Penetration Tester", "SOC Analyst", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Infrastructure Security", "Security Consultant",
"Penetration Tester", "Penetration Tester", "Red Team", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Threat Intel/Analyst", "Application Security", "Penetration Tester",
"Compliance", "Security Architect", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Security Architect", "Penetration Tester",
"Penetration Tester", "Red Team", "Red Team", "Security Engineer",
"Research", "Security Engineer", "Incident Response", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Red Team", "Security Engineer",
"Incident Response", "Penetration Tester", "Penetration Tester",
"Security Engineer", "Penetration Tester", "Security Engineer",
"Penetration Tester", "Penetration Tester", "Security Engineer",
"Penetration Tester", "Threat Hunter", "Penetration Tester",
"Penetration Tester", "Red Team", "Penetration Tester", "Incident Response",
"Penetration Tester", "Red Team", "Penetration Tester", "Infrastructure Security",
"Compliance", "Info Security Manager & Data Protection Officer",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Infrastructure Security", "Penetration Tester",
"Security Engineer", "Security Engineer", "Penetration Tester",
"Incident Response", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Red Team", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Defensive Efficacy Testing", "Incident Response", "Information Security Analyst",
"Penetration Tester", "Penetration Tester", "Threat Hunter",
"Penetration Tester", "Penetration Tester", "Penetration Tester",
"Security Engineer", "Cyber Consultant", "Security Engineer",
"Application Security", "Research", "Research", "Research", "Red Team",
"Application Security", "Penetration Tester", "Security Engineer",
"Red Team", "Information Security Analyst", "Sales Engineer",
"Penetration Tester", "Red Team", "Infrastructure Security",
"Penetration Tester", "Security Engineer", "Incident Response",
"Incident Response", "Penetration Tester", "Incident Response",
"Penetration Tester", "Incident Response", "Application Security",
"Incident Response", "Incident Response", "Security Engineer",
"Penetration Tester", "Incident Response", "Infrastructure Security",
"SOC Analyst", "Penetration Tester", "Penetration Tester", "Senior Software Engineer ",
"Red Team", "Audit", "Incident Response", "Senior Security Engineer",
"Application Security", "Research", "Penetration Tester", "Governance",
"Penetration Tester", "Penetration Tester", "Threat Intel/Analyst",
"Threat Intel/Analyst", "SOC Analyst", "Application Security",
"Application Security", "Security Engineer", "Penetration Tester",
"Incident Response", "Incident Response", "Security Architect",
"Incident Response", "Security Engineer", "Research", "Red Team",
"Penetration Tester", "Application Security", "Penetration Tester",
"Research", "Application Security", "Penetration Tester", "Threat Intel/Analyst",
"Infrastructure Security", "SOC Analyst", "CISO", "Incident Response",
"Red Team", "Infrastructure Security", "Compliance", "Security Engineer",
"Penetration Tester", "Incident Response", "Penetration Tester",
"Incident Response", "SOC Analyst", "Penetration Tester", "Research",
"Incident Response", "Application Security", "Threat Intel/Analyst",
"SOC Analyst", "Application Security", "Penetration Tester",
"Penetration Tester", "Security Engineer", "Security Architect",
"Penetration Tester", "Incident Response", "Incident Response",
"Penetration Tester", "Application Security", "Penetration Tester",
"Security Engineer", "Incident Response", "Penetration Tester",
"Incident Response", "Penetration Tester", "Penetration Tester",
"Security Engineer", "Penetration Tester", "Incident Response",
"SOC Analyst", "Penetration Tester", "Penetration Tester", "Red Team",
"Red Team", "Red Team", "Cloud Security", "Penetration Tester",
"Security Engineer", "Incident Response", "CISO", ".", "Penetration Tester",
"Incident Response", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Penetration Tester", "Compliance", "Security Architect",
"SOC Analyst", "Application Security", "Incident Response", "SOC Analyst",
"Security Operations", "Incident Response", "Security Engineer",
"Penetration Tester", "Security Architect", "Application Security",
"Security Specialist", "Security Architect", "Compliance", "Incident Response",
"Penetration Tester", "IT Security Administrator", "Penetration Tester",
"Application Security", "Red Team", "Penetration Tester", "Penetration Tester",
"Penetration Tester", "Security Consultant", "Incident Response",
"Red Team", "Penetration Tester", "Penetration Tester", "CISO",
"Penetration Tester", "Security Engineer", "Security Engineer",
"Penetration Tester", "Security Engineer", "Application Security",
"Penetration Tester", "Senior It Manager", "Penetration Tester",
"Research", "Infrastructure Security", "Penetration Tester",
"Incident Response", "Product Manager", "Penetration Tester",
"Incident Response", "Incident Response", "Penetration Tester",
"Application Security", "Penetration Tester", "Penetration Tester",
"Incident Response", "Product Manager", "Red Team", "Threat Intel/Analyst",
"Penetration Tester", "SOC Analyst", "Penetration Tester", "Penetration Tester",
"Incident Response", "Penetration Tester", "Infrastructure Security",
"Threat Intel/Analyst", "Penetration Tester", "Incident Response",
"Penetration Tester", "Security Engineer", "Penetration Tester",
"Penetration Tester", "Incident Response", "Penetration Tester",
"Security Architect", "Penetration Tester", "Application Security",
"Security Engineer", "Security Architect", "Infrastructure Security",
"Incident Response", "Threat Intel/Analyst", "Application Security",
"Incident Response", "Security Engineer", "Incident Response",
"Incident Response", "Penetration Tester", "Security Engineer",
"Security Engineer", "Infrastructure Security", "Incident Response",
"Security Engineer", "Application Security", "Incident Response",
"Penetration Tester", "Penetration Tester", "Incident Response",
"Security Engineer", "Penetration Tester", "Red Team", "Application Security",
"Incident Response", "Penetration Tester", "Security Engineer",
"Incident Response", "Penetration Tester", "Audit", "Infrastructure Security",
"Penetration Tester", "Threat Intel/Analyst", "Audit", "Security Architect",
"Threat Hunter", "Application Security", "SOC Analyst", "Penetration Tester",
"Incident Response", "Security Engineer", "Penetration Tester",
"Penetration Tester", "Information security officer", "Incident Response",
"Incident Response", "Incident Response", "Compliance", "Penetration Tester",
"Security Engineer", "Incident Response", "Threat Hunter", "Penetration Tester",
"Incident Response", "Penetration Tester", "Incident Response",
"Penetration Tester", "Security Engineer", "Governance", "Security Engineer"
), sex = structure(c(2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 2L, 3L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
1L, 1L, 1L, 3L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 3L, 1L, 1L, 3L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 3L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 3L, 2L, 1L, 1L, 2L, 1L, 1L, 1L,
1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 3L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 3L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 1L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 1L, 3L, 2L, 1L, 2L, 2L, 1L), .Label = c("Male",
"Female", "Other"), class = c("ordered", "factor"))), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -469L))这是我用来尝试生成图的代码:
library(ggplot2)
library(dplyr)
library(forcats)
df %>%
count(title, sex) %>%
filter(!is.na(sex) & nchar(title) > 1) %>%
ggplot() +
geom_bar(aes(x=fct_reorder(title, n), y=n), stat="identity") +
facet_wrap(~ sex, nrow=1, scales="fixed") +
scale_y_continuous(expand=c(0, 0)) +
labs(x="", y="No. People Reporting",
title="Significantly more men than women reported their salaries",
subtitle="Red teamers appear to be much more likely to report their salaries") +
coord_flip() +
theme(panel.background=element_blank(),
axis.line=element_line(color="black"))我的预期输出将从左到右列出“男性”、“女性”和“其他”方面,前三个标题是“渗透测试器”、“事件响应”和“安全工程师”。
如何告诉R根据"Male“子集中的值对title进行重新排序?
发布于 2019-10-09 23:09:36
我将按性别对行进行排序(以便首先对sex = "Male"行进行排序)/ count &在本例中使用fct_inorder而不是fct_reorder:
df %>%
count(title, sex) %>%
filter(!is.na(sex) & nchar(title) > 1) %>%
tidyr::complete(sex, title, fill = list(n = 0)) %>% # add missing combinations so that
# every title appears for every gender
arrange(sex, n) %>%
mutate(title = fct_inorder(title)) %>%
ggplot() +
geom_bar(aes(x=title, y=n), stat="identity") +
facet_wrap(~ sex, nrow=1, scales="fixed") +
scale_y_continuous(expand=c(0, 0)) +
labs(x="", y="No. People Reporting",
title="Significantly more men than women reported their salaries",
subtitle="Red teamers appear to be much more likely to report their salaries") +
coord_flip() +
theme(panel.background=element_blank(),
axis.line=element_line(color="black"))

https://stackoverflow.com/questions/58306795
复制相似问题