任务目标:探索美国受访者排名前三的职位。
执行方法:创建绘图所需的数据源(按照CurrentJobTitleSelect统计其个数,并按照个数进行降序排列)。
筛选条件:CurrentJobTitleSelect不为空且为美国Kaggle的观测。
下面的代码演示了具体的实施方法:
> df_CJT_USA <- responses %>% filter(CurrentJobTitleSelect != '' & Country == 'United States') %>% group_by(CurrentJobTitleSelect) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% mutate(CurrentJobTitleSelect = case_when(CurrentJobTitleSelect == "Data Scientist" ~ "数据科学家", CurrentJobTitleSelect == "Software Developer/Software Engineer" ~ "软件开发/工程师", CurrentJobTitleSelect == "Other" ~ "其他")) > data <- head(df_CJT_USA, 3) > xname <- '' > yname <- '受访者数量' > fun1(data, reorder(data$CurrentJobTitleSelect, data$Count), data$Count, xname, yname)
可视化结果见图7-4。
图7-4 美国人数排名前三的受访者职位
将上节中相同的逻辑应用到其他国家,比如新西兰。代码实施如下,这里依然采用了case_when和mutate搭配使用来更改数值的方法:
> df_CJT_NZ <- responses %>% filter(CurrentJobTitleSelect != '' & Country == 'New Zealand') %>% group_by(CurrentJobTitleSelect) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% mutate(CurrentJobTitleSelect = case_when(CurrentJobTitleSelect == "Data Scientist" ~ "数据科学家", CurrentJobTitleSelect == "Software Developer/Software Engineer" ~ "软件开发/工程师", CurrentJobTitleSelect == "Other" ~ "其他")) > data <- head(df_CJT_NZ, 3) > xname <- '' > yname <- '受访者数量' > fun1(data, reorder(data$CurrentJobTitleSelect, data$Count), data$Count, xname, yname)
可视化结果见图7-5。
图7-5 新西兰人数排名前三的受访者职位
对比图7-4和图7-5,我们可以简要得出,美国和新西兰两国的受访者职位排名前三的同为数据科学家、软件开发/工程师和其他。不过值得注意的是,因为新西兰受访人数过少,该结果可能并不准确。